一款App如何才能被称为“好用”呢?如何才能够受到大家的喜爱呢?其实这非常简单:功能强大和性能优越 。8秒定律测试在性能测试中遵循2-5-8原则:
说到性能,首先就是APP的启动性能问题,正所谓万事开头难,这个“开头”在这里可以理解为APP的启动,APP的启动问题很大一部分决定了是否能留住用户 。
- 当App启动的响应时间小于2s,客户认为app启动速度很快
- 当App启动的响应时间介于2-5秒之间,客户认为app启动速度还可以
- 当App启动的响应时间介于5-8秒客户认为app启动速度很慢,但还可以接受
- 当App启动的响应时间大于8秒,客户认为app启动速度是不可接受的,甚至认为App没有响应 。
文章插图
对我们Android开发人员来说;性能优化是必不可少的 。而进入大厂性能优化,往往也是面试过程中必问到的技术之一 。
例如:
如何去除过重的app初始化 ? 怎样通过减少冗余或嵌套布局来展平视图层次结构 ? 开启线程懒加载资源怎么做? 阻塞磁盘上的屏幕绘图或网络I / O 。这里简单说几个启动优化相关的面试题例子;如果你都会当我没说 。但是就这些来技术做优化肯定是不够的 。
要优化App的启动速度,首先需要了解App的启动流程 。在Android系统中,系统会为每一个应用开辟一个linux进程,默认情况下应用都运行在自己的进程中 。
【功夫“唯快不破”,Android开发APP该如何优化才能做到极致体验?】当用户点击桌面图标启动一个应用界面时,底层的完整流程如下:
文章插图
从流程图得知:
- 如果App进程不存在,则需要执行3,4,5,6步,我们称之为“冷启动”,一般是首次启动,或者进程被杀死后;
- 如果App进程存在,则直接实例化并启动目标Activity,我们称之为“温启动”,一般发生在应用退出后,进程被杀前;
- 还有一种情况,如果进程和目标Activity都存在,只是切到后台,我们称之为“热启动”,如按了Home键 。
这是为什么?究竟是哪方面做的不足?而我们怎么细分优化呢?
这里我推荐阿里的架构师整理的《Android性能优化》资料分享,让你站在高工的角度,深度理解APP启动原理与内存相关原理,掌握一线大厂启动与内存方面的各种优化手段 。
推荐阅读
- 开源SPL 令微服务真地”微“起来
- 谷歌Messages应用中的“Swipe actions“现在可以定制了
- 求职|毕业季学生迎来“云面试”,网络问题频出,机会不少全是尴尬
- XR-V|新一代本田XR-V将上市:最能“装”的合资小型SUV来了
- 真正会穿的女人,衣服讲究“在精不在多”,有这5款就够了
- 三四十岁如何摆脱“大妈”标签?学习日杂的穿衣搭配,高级有品味
- 浙江茶叶“怪象”:行家不喝西湖龙井,却独宠这2种“廉价茶”
- 原来,中国驾照才是“最牛国际”驾照
- 探析美军对未来战争“多域作战”的定义
- 苹果|苹果更新“过时产品”名单:首批搭载Touch Bar的Mac被放弃