启动速度优化_Android 应用启动速度优化方向的一个小总结

14a943e5643e9e9a774f985d8db69472.png

项目 App 的冷启动速度实在太慢了。下面把优化的手段大概总结一下,要说明一点的是,每个项目结构都不一样,实质优化的内容也不一样,但是可以说优化的思路是一样的。

Application 优化

  • onCreate 放置的 sdk 或者 单利初始化的东西一定要严格克制,仔细思考是否有必要提前初始化或者去拉取数据。因为现在大部分应用都是有3s左右的闪屏时间,这个时间足够你做一些初始化的操作。
  • onCreate 里面的一定要初始化的东西要判断是否能够放置在线程池中。
  • 是否一些初始化的东西,可以延迟到使用时才去进行。
  • 另外,并不是所有东西放置在子线程都是 ok 的,子线程本质上也会与主线程去竞争 CPU 资源的,所以在对 App 中的线程池,可以设置稍微低一点的优先级。

SplashActivity优化

  • 白屏或者黑屏的现象一定要处理下。
  • 不要设置应用启动页面为透明主题,这个会让你的 App 显得非常慢。这一点网上资料比较多,可以搜索查阅一下。
  • 同样,在 SplashActivity 中耗时操作可以放在子线程,设置如果 3s 广告是必须显示的,可以延时执行一些操作。
  • 如果,广告显示是有时机限制的,比如说这次只显示默认的 Theme,那么默认的 Bg 和 Button 我们是不是可以用 viewStub 来初始化?
  • 闪屏资源的是不是做了缓存?

MainActivity优化

  • 首先同样,onCreate 是不是做了耗时操作,是不是有些初始化可以放在子线程。
  • onResume 里面的东西是不是可以放在 onWindowsFocusOn 中,这里才是页面真正显示的时候。
  • IdleHandler 的利用,等到主线程空闲的时候再执行操作。
  • 首页布局的优化,减少复杂布局和过渡绘制优化,另外要利用好 viewStub 功能。
  • 去掉无用的老代码,另外一些测试时候的代码也要及时清理,类似用 trace 和 sp 记录耗时。

优化这个东西,是阶段性和长期性的,后续有什么更好的优化,再继续更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值