UE生命周期与异步边界
5 篇
笔记列表 5
原生回调:进程单例解决入口,不解决结果属于谁
自动关联目录:原生回调:进程单例解决入口,不解决结果属于谁 核心判断:JNI、NAPI 或 Objective-C 回调需要一个稳定的进程入口,但入口对象长期存活不代表返回值仍属于当前页面、当前 World 或最近一次请求。跨语言异步必须…
后台写盘:线程安全队列不等于可关闭管线
自动关联目录:后台写盘:线程安全队列不等于可关闭管线 核心判断:互斥锁只能保护一次入队或出队;可靠后台写盘还必须回答何时拒绝新数据、停止时写完还是丢弃、怎样唤醒等待者、何时可以释放线程对象。 一、业务冲突:操作记录不能卡主线程,也不能在…
归档异步:GC保活不等于工作线程可以操作UObject
自动关联目录:归档异步:GC保活不等于工作线程可以操作UObject 核心判断:FGCObjectScopeGuard 只保证作用域内对象不会被 GC 回收,不保证捕获它的排队空窗安全,也不赋予 UObject 工作线程访问权,更不保证同…
看门狗线程:只能报告超时,不能跨线程修改VM
自动关联目录:看门狗线程:只能报告超时,不能跨线程修改VM 核心判断:后台看门狗可以测量截止时间并发布超时信号,但不能在脚本正由 Game Thread 执行时,从工作线程读取或替换 VM Hook。中断必须由 VM 所在线程在受支持的 …
编辑器模块卸载:解绑委托还不够,注册工厂也必须撤销
自动关联目录:编辑器模块卸载:解绑委托还不够,注册工厂也必须撤销 核心判断:编辑器模块把回调注册进更长寿命的全局 Registry 后,Registry 就持有了对模块实例或模块代码的调用能力。ShutdownModule 必须撤销每一项…