App冷启动与启动白屏处理
来源:互联网 发布:淘宝店怎么上传图片 编辑:程序博客网 时间:2024/06/04 19:00
近日在开发过程中,发现每次点击app从桌面启动都有一个在桌面明显的等待时间,机型越低端的越明显,冷启动优化看来已经势在必行,所以怒而一顿研究再解决之。
冷启动
- 第一次启动、被用户杀死进程或系统自动回收进程后,整个app后台任务被清理,再次启动app,称为 冷启动。
- 特点:后台任务全部结束,回收进程
热启动
- 用户点击返回键退回界面,后台任务没有杀死,再次点击启动app,称为 热启动。
- 特点:未清理后台任务,再次启动
为什么会出现白屏?
- 在一个Activity打开时,如果该Activity所属的Application还没有启动,系统会为这个Activity创建一个进程;
- 每创建一个进程,都会执行一次Application的onCreate()方法;
- Application的onCreate方法执行完后,启动的Activity的onCreate方法才会开始执行;
- 在Application的onCreate方法中执行耗时间的操作,就会出现白屏。
如何避免
- 尽量不让Application参与业务操作;
- 不在Application的onCreate中执行耗时任务 比如:创建文件等IO操作,应在使用时再创建;
- 不以静态变量的的方式在Application中保存数据。
白屏如何解决?
大致有以下三种方法:
- 使用IntentService实现异步处理耗时的操作;
- 将背景图设置成我们APP的Logo图,作为APP启动的引导,现在市面上大部分的APP也是这么做的
- 将背景颜色设置为透明色,在启动页出现前屏幕一直显示桌面
推荐使用第一种解决方法,当然,三个方法结合使用效果更好
举例
普通处理
耗时长:
IntentService处理
耗时长:
阅读全文
1 0
- App冷启动与启动白屏处理
- 关于APP冷启动与热启动的区别及冷启动出现的白屏解决办法
- App冷启动白屏解析
- 关于app冷启动白屏
- app冷启动缓慢出现白屏之终极解决方案—IntentService高效异步处理
- Python之启动App--冷启动,热启动
- Android冷启动白屏黑屏处理
- Android冷启动白屏黑屏处理
- 计算机热启动与冷启动
- Android 冷启动与热启动
- Android APP 启动优化(冷启动)
- App冷启动白屏/黑屏问题分析及解决方案
- 解决APP冷启动白屏/黑屏的问题
- APP冷启动短暂白屏,附加Image全屏显示
- Android App冷启动分析与优化
- 计算机的冷启动与热启动
- 冷启动与热启动的区别
- Android中的冷启动与热启动
- 每个程序员都应该收藏的算法复杂度速查表
- 2017杭电多校第六场 1011 (勉强算容斥吧)HDU 6106
- Square Destroyer UVA
- jedis操作redis,结合spring,原生方法
- 微信小程序获取用户信息官方推荐方案
- App冷启动与启动白屏处理
- 站在巨人的肩膀上之bill分享有感
- Gazebo笔记
- 剑指offer第一题和第二题(python版和java版)
- 《Python自然语言处理》学习笔记-第四章
- 51NOD1004 N^N的末位数字
- RxBinding详解: 规范而强大的安卓UI响应式编程
- java泛型-类型参数命名约定
- 阿里云ECS服务器配置LAMP使用IP地址无法访问填坑(一)