Android 客户端性能优化(魅族资深工程师毫无保留奉献)

本文由魅族资深工程师分享Android性能优化经验,涵盖启动速度、界面切换、内存泄露、onTrimMemory回调、过度绘制、lint检查、反射优化、稳定性、耗电等多个方面,并深入分析UI卡顿的常见原因及解决方法,附带大厂面试真题解析,帮助开发者提升应用体验。
摘要由CSDN通过智能技术生成

1. 启动速度

1)这里的启动速度指的是冷启动的速度,即杀掉应用后重新启动的速度,此项主要是和你的竞品对比。

2)不应在Application以及Activity的生命周期回调中做任何费时操作,具体指标大概是你在onCreate,onResume,onStart等回调中所花费的总时间最好不要超过400ms,否则用户在桌面点击你的应用图标后,将感觉到明显的卡顿。

2. 界面切换

1)应用操作时,界面和动画不应有明显卡顿;

2)可通过在手机上打开 设置开发者选项调试GPU过度绘制,然后操作应用查看gpu是否超线进行初步判断;

3. 内存泄露

1)back退出不应存在内存泄露,简单的检查办法是在退出应用后,用命令adb shell dumpsys meminfo 应用包名查看 Activities Views 是否为零;

2)多次进入退出后的占用内存TOTAL不应变化太大;

4. onTrimMemory回调

1)应用响应此回调释放非必须内存;

2)验证可通过命令adb shell dumpsys gfxinfo 应用包名-cmd trim 5后,再)用命令adb shell dumpsys meminfo 应用包名查看内存大小。

5. 过度绘制

打开设置中的GPU过度绘制开关,各界面过度绘制不应超过2.5x;也就是打开此调试开关后,界面整体呈现浅色,特别复杂的界面,红色区域也不应该超过全屏幕的四分之一;

6. lint检查

1)通过Android Studio中的 AnalyzeInspect Code 对工程代码做静态扫描;找出潜在的问题代码并修改;

2) 0 error & 0 warning,如果确实不能解决,需给出原因。

7. 反射优化

1)在代码中减少反射调用;

2)对频繁调用的返回值进行Cache;

8. 稳定性

1)连续48小时monkey不应出现闪退&#x

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值