Skip to content
Karosli edited this page Apr 2, 2022 · 5 revisions

kkp

一个 lua 热修复框架,通过 lua 代码动态下发、动态修复已存在的类和创建类

功能列表

功能特性 备注限制
替换指定ObjectC方法实现 实例/静态方法均可替换实现
动态创建新类和新方法供Native/lua调用 需传入定义协议
支持添加属性 为已存在的class添加关联属性
支持访问私有变量 lua 可以读取和修改私有变量
支持基础数据类型 对象类型和非对象类型都支持
支持block 支持在 lua 中创建 block 和 调用 block
支持结构体 支持在 lua 注册和创建结构体
常用c函数调用 支持如 dispatch_afterdispatch_async 等函数调用
调试 支持 lua 脚本调试

lua 相关

  • 基于 lua 5.4

lua 5.4 与 lua 5.1 相比做了内存优化,另外使用了 _ENV 来表示环境域

lua 版本差异

lua 版本性能比较

lua 5.4 特性 更优化的分代GC,更小的内存占用,更快的执行效率(提升40%),并提供了 close 变量 (变量超出作用域时,会调用变量的close元方法)

  • 支持 lua 标准库转成字节码

参考

wax

spa

JSPatch

TTPatch

Clone this wiki locally