文档管理中心
|

HarmonyOS 5

鸿蒙冷启动优化

鸿蒙冷启动优化

一、冷启动优化

冷启动:程序开始运行到进程的创建, 资源的加载(第一次启动)
冷启动的标准:1200ms标准
热启动:程序已经启动,后台,切换到前台,热启动。
1.应用进程创建&初始化阶段:该阶段主要是系统完成应用进程的创建以及初始化的过程,包含了启动页图标(startWindowlcon)的解码。
2. Application&Ability初始化:该阶段主要是资源加载、虚拟机创建、Application&Ability相关对象的创建与初始化、依赖模块的加载等 。
3. Ability/AbilityStage生命周期:该阶段主要是AbilityStage/Ability的启动生命周期,执行相应的生命周期回调。
4.加载绘制首页:该阶段主要是加载首页内容、测量布局、刷新组件并绘制。
5.网络数据二次刷新:该阶段主要是应用根据业务需要对网络数据进行请求、处理、二次刷新。

二、分析工具:Lanch工具

三、优化策略

第一阶段:应用进程创建&初始化阶段耗时

该阶段主要是系统完成应用进程的创建以及初始化的过程,包含了启动页图标(startWindowIcon)的解码。

建议这个图标不能超过:256 *256

第二阶段 Application&Ability初始化阶段耗时

该阶段主要是资源加载、虚拟机创建、Application&Ability相关对象的创建与初始化、依赖模块的加载等。 1、减少import的模块(尽可能的减少依赖模块的加载,按需加载)

第三阶段:AbilityStage生命周期阶段耗时

AbilityStage的启动生命周期,执行相应的生命周期回调避免在AbilityStage生命周期回调接口中的一些耗时操。在onCreate方法中的耗时任务改成异步任务。

第四阶段:加载绘制首页

这个阶段主要是加载首页内容,测量布局,刷新组件并绘制。自定义的组件生命周期回调接口中避免耗时的操作。在aboutToApear方法中的耗时任务改成异步任务。

第五阶段:网络请求的前置

将网络请求提前至UIAbility生命周期onCreate回调函数中,可以将首刷的时间提前,减少用户等待的时间。

点赞
收藏
回复
分享
举报
浏览283 发布于2025-05-07 02:47北京
全部评论
最多点赞
最新发布
最早发布
暂无评论
暂无评论
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。