App启动时间优化

从3个角度优化:

产品设计:

  1. 设计一张和app首页主题差不多的图片过度,点击app时能够立即有窗口动画响应
  2. 点击app,立马进入1个弹窗界面,让用户接收权限,登录,提醒等。偷偷在后台启动首页
  3. 一些重量级的sdk做成插件化需要的时候动态加载,避免冷启动阶段初始化sdk台耗时

App:

  1. 布局层级和数量优化,减少层级和要展示的内容
  2. 从trace找到最主要的性能瓶颈(通常是oncreate过程inflate,layout,messure,draw时间过程耗时)
  3. 点击app到startActivity阶段可以从日志Start proc,点击事件从trace可能看到​​​​​​,如下所示
  4. 耗时业务放子线程,例如异步infalte xml
  5. 预加载服务端接口数据,viewholder,Activity
  6. 首页不需要业务,放在idlehandler延迟加载

系统:

  1. 配置baseline_profile,将启动阶段的class和方法预编译成oat文件,配置到profile文件中声明
  2. dex2oat,编译系统时将指定系统预装app大部分代码编译成oat文件,加快代码执行速度
  3. 启动阶段提高进程RenderThread,UI,AdrenoOsLib线程的优先级
  4. 去掉class verify(效果明显,但有未知风险,暂时没有采用)
  5. redex把dex和资源文件重排序?
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值