关于android:如何评价性能优化涵盖知识面太广

28次阅读

共计 1588 个字符,预计需要花费 4 分钟才能阅读完成。

前言

随着 Android 开发越来越标准,国内工程师的素质,以及用户对产品的要求也越来越高。

这也间接导致咱们对研发我的项目的品质要求到了近乎刻薄的境地,内存优化、UI 卡顿优化、App 解体监控 等性能调优也逐步成了人手必备的技能。

工作之余,不免让咱们感叹学无止境,以及 Android 开发也是水深不见底。

做了跟性能相干的工作, 也接触了不少模块, 说实话要做好性能这一块, 真心不容易. 为什么这么说? 是因为须要接触的常识切实是太多了, Android 是一个整体, 牵一发而动全身, 不是说只懂一个模块就能够做好

上面这份材料是技术前辈们分享的 Android 性能优化所必须把握的常识, 涵盖性能优化相干的方方面面蕴含我的项目实战

我的项目实战

  • 启动速度
  • 晦涩度
  • 抖音在 APK 包大小资源优化的实际
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化我的项目揭秘
  • 高德 APP 全链路源码依赖剖析
  • 彻底干掉 OOM 的实战经验分享
  • 微信 Android 终端内存优化实际

实践

在 Android 利用优化方面,咱们次要从以下 6 个方面进行优化:

  • 启动速度与执行效率优化
  • 布局检测与优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据存储优化
  • APK 大小优化

一、启动速度与执行效率优化

  • 冷启动和热启动解析
    本节次要介绍启动形式、特点、利用启动的流程、测量利用启动的工夫、什么才是利用的启动工夫、升高利用启动时的耗时、优化利用启动时的体验。
  • APP 启动黑白屏解决办法
    解决办法 1,把启动白屏的背景换成一张图片;解决办法 2,把启动白屏背景变通明。
  • APP 卡顿问题剖析及解决方案
    16ms 准则;
    卡顿解决;
    Triple Buffer,既然丢帧的状况不可避免,Android 团队从未放弃对这块的优化解决,于是便呈现了 Triple Buffer(三缓冲机制)。
  • 启动速度与执行效率优化之 StrictMode
    StrictMode 详解、Systrace 和 TraceView。

二、布局检测与优化

  • 布局层级优化
    程序的每个组件和 Layout 都须要通过初始化、布局和绘制,如果布局嵌套档次过深,就会导致加载操作更为耗时,更重大的话还可能导致内存溢出。本节学习应用两个工具来检查和优化 Layout。
  • 适度渲染
    既然可能通过零碎设置晓得适度渲染次数,测试时候就读取该值,填写报告就完了啊,为何要自动化呢?因为在对 app 进行零碎的测试时,会发现页面十分多,如管家一二级页面就多大 20 多个,且集成包,灰度包,正式包,回归包都要进行一次测试,所以进行自动化适度渲染计数读取是有必要的。

三、内存优化

因为 Android 利用的沙箱机制,每个利用所调配的内存大小是有限度的,内存太低就会触发 LMK(Low Memory Killer)机制,进而会呈现闪退景象。如果要对内存进行优化,就须要先搞懂 java 的内存是如何调配和回收的,对于这方面,能够重点参考上面的内容:
Android 利用内存透露的定位、剖析与解决策略

次要蕴含

  • 内存抖动和内存透露
  • 内存小户,Bitmap 内存优化
  • Profile 内存监测工具
  • Mat 大对象与透露检测

四、耗电优化

如果一个 app 应用的很少,然而 app 的耗电量却很高,这时候用户必定想间接卸载这个 app。那么如何升高本人 app 的耗电量就是一个很重要的事件了。

耗电的因素有那些呢?

(1)Alarm Manager wakeup 唤醒过多
(2)频繁应用部分唤醒锁
(3)后盾网络使用量过高
(4)后盾 WiFi scans 过多

具体内容蕴含

  • Doze&Standby
  • Battery Historian
  • JobScheduler、WorkManager

五、网络传输与数据存储优化

  • google 序列化工具 protobuf
  • 7z 极限压缩

六、APK 大小优化

让咱们的 apk 文件尽可能更小,移除那些未应用的代码和资源文件, 节俭下载和提高效率。

  • APK 瘦身
  • 微信资源混同原理

总结

作为过来人,晓得苦苦找寻材料的艰苦,所以材料我都为大家筹备好了,须要的搭档请点击这里收费支付

正文完
 0