Android冷启动&热启动,冷启动优化

1:冷启动,热启动
1.1:冷启动
当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。
特点:系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类,再创建和初始化设置的MainActivity,最后显示在界面上。
1.2:热启动
当启动应用时,后台已有该应用的进程(例:按home键,应用会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),再次打开该应用时,这个方式叫热启动。
特点:会从已有的进程中来启动,所以热启动就不会重新创建一个新的进程和初始化Application了,所以热启动的过程只需要创建和初始化MainActivity就行了,因为一个应用从新进程的创建到进程的销毁,Application只会初始化一次。

2:冷启动优化
2.1:第一次启动的时间:
从应用启动,创建进程开始计算,到完成视图的第一次绘制(即Activiy内容对用户可见)为止。
中间会经历的过程有:
Application构造器–>attachBaseContext()–>OnCreate()
–>Activity构造器–>onCreate–>配置主题背景等属性
–>onStart()–>onResume–>显示在界面上可以交互。

所以相应的优化方案也就从关键位置来开始了:

  1. 减少 onCreate方法的工作量。
  2. 不要让Application参与业务逻辑。
  3. 不要在Application中做耗时操作,一些初始化操作可以开启子线程来完成。
  4. 不要以静态变量方式在Application中保存数据。
  5. 布局优化/mainThread尽量延迟初始化。
    6:启动画面的初始化可以使用设置主题背景的方式,速度回更快

2.2:Android App启动优化和黑白屏问题
Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法

//学习记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值