现在谈到挂载 Android系统
的 手机,大部分人的印象早已不像前几年,几年前的安卓机那是用了一段时间就变得有点卡顿
,用1年就卡的动弹不得
,不得不每年都更换新机。
为什么以前会出现这种情况呢?其实主要是有些程序
在运行期间莫名其妙的出现崩溃
,打开后台即会发现很多垃圾文件,不管是手机厂商所说的再花里胡哨,用久了也是一样的卡!
相信每个使用 Android 系统的用户都有过以上类似经历,确实Android 系统在流畅性方面不如 IOS 系统,为何呢,明明在看手机硬件配置上时,Android 设备都不会输于 IOS 设备
,甚至都远远强于它,但是却经常发生卡顿,让使用者非常恼火。
不过近年来随着 Android 版本不断迭代,Google 提供的Android 系统已经越来越流畅,目前最新发布的版本是 Android 13
。再加上程序员们对系统的不断的优化升级,做了许多的性能方面/app方面/启动方面的优化,现如今的安卓早就不可同日而语。
正是因为 Android APP 不断进行性能优化
,才导致现如今安卓早已不再屈居IOS之下,双方早已形成鼎足之势。所以对于Android开发来说,掌握性能优化
是重中之重。
其实Android的性能优化
,主要从以下几个方面开展:
稳定
(内存溢出、崩溃)
耗损
(耗电、流量)
安装包
(APK瘦身)
流畅
(卡顿)
影响稳定性的原因很多,比如对内存使用不够合理、代码异常、场景考虑不周全、代码逻辑不合理等等问题,都会让应用的稳定性出现问题。
当然也有最常见的场景:Crash 以及 ANR
,这两个错误将会使得程序彻底崩溃。
所以必须做好这些:
- 做好Crash全局监控,处理闪退同时把崩溃信息、异常信息收集记录起来,以便后续分析;
- 合理使用主线程处理业务,不要在主线程中做耗时操作,防止ANR程序无响应发生。
(一)稳定——内存优化
(1)Memory Monitor 工具
(2)LeakCanary工具
(3)Android Lint 工具
(二)流畅——卡顿优化
卡顿的场景通常发生在用户交互体验中。影响卡顿的两大因素,分别是界面绘制和数据处理。
(1)布局优化
(2)绘制优化
(3)启动优化
(三)节省——耗电优化
(1)计算优化
(2)避免 Wake Lock 使用不当
(3)使用 Job Scheduler 管理后台任务
(四)APK瘦身优化
APK瘦身
是性能优化必学部分,大家可以结合这个APK瘦身视频进行学习:APK优化系列瘦身篇
针对性能优化
这个要点,今天分享给大家一份《Android核心性能优化开发文档》,这份学习手册将会带大家深入探索Android性能优化,掌握大厂Android开发必备的性能优化技能,需要这份文档的留言或私信 【性能优化】 找作者获取。
强调一下:【因篇幅问题:文中只放技术点,需要完整版的的可找作者获取,留言:【性能优化】即可】
这些B站性能优化开发视频也可以供大家学习:
- APK优化系列瘦身篇
- APK优化系列加固篇
- APK优化系列签名篇
- Android性能优化专题
一、UI优化
UI优化似乎是 Android 性能优化中最简单的部分,但是也是细节满满,不注意细节也很容易翻车!
- UI层级规范以及对U加载的影响
- UI卡顿原因分析以及修复
- Ul绘制、布局、测量原因以及处理方案
- 实战:从原理到实战,多维度解决Ul造成的性能问题
二、APP启动优化
想要提升 App 的启动速度,那就必须要学启动优化知识点!
- 系统的启动原理
- 为什么腾讯系APP的启动都用框架来处理?
- 如何利用数据结构与算法做框架设计?
- 项目开发中任务管理系统如何设计?
- JUC闭锁与AQS技术在启动架构设计中的应用
- App启动框架对启动优化的意义
- 最大化利用CPU资源为项目服务
三、崩溃优化
崩溃是app当中经常会发生的时候,非常影响用户体验,所以这一模块的学习也是至关重要的。
- 项目奔溃异常捕获
- 优雅的异常处理方案
- 项目中如何避免异常弹框
- 实战:手写实现异常处理框架
四、卡顿优化
卡顿优化可以说是 Android 性能优化中最复杂的环节,所以大家学习的时候更得注意细节。
- 多维度分析造成卡顿的原因
- 内存抖动与GC回收
- 内存抖动与GC回收
- 优化实战:从维度解决卡顿问题实战
五、安全性优化
安全性优化部分也是不得不学的
- APP加固实现(防反编译,dex加固)
- https防抓包机制(数据传输加载,客户端服务器端双向加密校验)
- 优化实战:手写打造APK加固框架
六、弱网优化
大家都有玩游戏网络卡的情况,网络优化一直被认为是移动优化水最深的领域之一
- serializable原理
- parcelable接原理解析
- http与https原理详解
- protbuffer网络IO详解
- gzip压缩方案
- …
七、APP深度优化
大图加载优化
- Glide巨图加载机制原理分析
- 大图多级缓存实现方案
- 优化实战:手写微博巨图加载功能