深入计算机的世界分享 http://blog.sciencenet.cn/u/qizhwei 虚拟化、云计算、Dev-Test-Ops

博文

[转载]精细优化APP启动

已有 514 次阅读 2018-10-20 19:37 |个人分类:学术探讨|系统分类:科研笔记| 程序分析, 代码注入, 质量监控, 自动化运维 |文章来源:转载

 “App启动是产品第一印象,但是基本所有业务线都需要在启动过程中掺和,加上三方库粗暴初始化,APP体积不断爆肥,主界面不断复杂,给APP启动性能持续加压。优化APP启动往往吃力不讨好,各业务线都不肯放弃“更早完成初始化”的机会。但从整个产品来说,让用户持续感觉到启动很慢(越来越慢),或者启动卡得要死,远比起启动之后APP的一些性能瑕疵更来得要命。优化APP启动需要数据,也需要抽丝剥茧。


要做到精细化分析,同时又不要添加额外的代码,我们通过自动化代码注入和定制化分析,得到精细化的分析报告:详细的分析见: 知乎专栏


ç2¾ç»†ä¼˜åŒ–APPåˉ动

通过分析,得到以下结论:

**************************

总结:

  • 启动过程有不必要的网络请求,client-side cache和合并打点可以减少30%的不必要请求

  • 启动过程辅助性的SDK太积极使用网络

  • 首次安装启动会更新TBS,不值得,拖慢网速影响整个APP首次启动

  • HomeFragment常见的Layout过胖问题

常见误区:

  • HTTP请求都是在其他线程上跑的,主线程没卡啊

    • 虽然是异步,但是界面是等待业务的HTTP请求完成才能完成加载展示的

  • 我看到很多HTTP请求挺快的,好像没必要去掉

    • 最头疼的就是小而多的请求,因为请求虽然是异步的,但是从APP到系统层有各种排队限制导致同时能做的网络请求数量有限(dns, tcp连接数等等),所以异步!=并行,异步!=快




http://blog.sciencenet.cn/blog-279072-1141907.html

上一篇:JCSS的论文获ESI 高被引
下一篇:分布式QEMU在KVM Forum 2018 进行展示

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-6-16 22:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部