handleHotReloading
在覆写的 onHotReloading 里直接调用。
把当前 TargetSnapshot 拍平成 Array<Any?> 透传给 HotReloadingParam.setSavedInstanceState, 并返回 true 允许重载继续。如果当前还没通过 initOnPackageLoadedAsTargetReady、initOnPackageReady 或 initOnSystemServerStarting 建立目标 snapshot,会返回 false——此时没有可恢复的状态, 热重载没有意义。
snapshot 数组的内容(String、ClassLoader、ApplicationInfo、Boolean、Integer) 全部由 boot / system / app classloader 加载,符合 libxposed 102「setSavedInstanceState 不接受 旧 module classloader 加载的对象」的硬约束。
extra 是使用者要跨代透传的额外数据(如 hook 里记录的宿主对象、构造器 this、额外 classloader)。Map、Collection 和数组会复制为有界无环快照;其它宿主对象保留引用。 模块对象及依赖模块的子加载器会被拒绝,framework 仍会执行最终校验。
返回值的含义由调用方 onHotReloading 的返回值传递给 framework: 返回 true 表示同意热重载;返回 false 表示模块自身要求 framework 放弃本次热重载请求。 也就是说当本方法返回 false 时,请直接把它作为 onHotReloading 的返回值(默认写法即为 return EzXposed.handleHotReloading(param))。
想完全自定义 saved state 的进阶用法直接覆写 onHotReloading,不要调用本方法。
Parameters
使用者透传的跨代数据,默认空