需要初始化的内容划分为以下部分
- 普遍应用需要: 应该在启动时异步初始化,初始化完成后才能开始执行应用。
- OCR
- ScreenInfo
- 特定应用需要: 在对应
Application的节点里加载,尽量利用游戏画面加载的节点进行初始化。- YOLO模型
- 应用配置
- 应用运行记录
- 图片模板
- 自动战斗配置
- 游戏数据配置
- UI需要:同上,在切换到特定页面时才进行加载,如果某页面需要加载大量资源,再额外考虑提前异步初始化。
- 其他:不是很必要,做了比没做有用的初始化,在启动时异步初始化,无需关心结果。
- github proxy 的更新
- 特定UI需要的提前初始化
- 创建
ZContext。 - 异步初始化
ZContext.init_async。 - 运行应用前等待步骤2初始化完成,或超时退出。
- 应用运行。
- 运行应用。
- 初始化
Application.handle_init。 - 执行业务逻辑。
- 切换到UI界面。
- 初始化
on_interface_shown。 - 刷新界面。
- 创建
ZContext。 - 异步初始化
ZContext.init_others。