动态加载
加载方法
- 反射
- 将脚本挂载到资源
- 原理: ab
- 可挂载的资源: prefab、 scene、 ScriptableObject
- 注意:实例化资源前必须先加载dll
使用泛型
完整支持泛型特性
使用热更新中定义的泛型类或函数
直接使用
使用AOT中定义的泛型类或函数
- AOT中以有代码实例化过某个泛型类或函数,则热更新可以直接使用
- 否则,则有三种解决办法:
- 在AOT中添加相应的实例化代码
- 缺点:AOT代码改变需要重新build工程;泛型参数可能是热更新类型。
- 补充元数据技术:
- 流程:
- 获得补充元数据dll
- 执行补充元数据:加载热更逻辑前,先加载需要用到的dll
- 优化补充元数据dll大小
- 缺点:由于额外下载元数据dll,增大了包体,多占用了内存。
- 流程:
- full generic sharing 完全泛型共享技术, 需购买商业版本
- 在AOT中添加相应的实例化代码