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

2)操作应用后,退出应用,让应用处于后台,一段时间后通过adb shell dumpsys batterystats查看电量消耗日志看是否存在异常。

二、性能问题常见原因

性能问题一般归结为三类:

1. UI卡顿和稳定性:这类问题用户可直接感知,最为重要;

2. 内存问题:内存问题主要表现为内存泄露,或者内存使用不当导致的内存抖动。如果存在内存泄露,应用会不断消耗内存,易导致频繁gc使系统出现卡顿,或者出现OOM报错;内存抖动也会导致UI卡顿。

3. 耗电问题:会影响续航,表现为不必要的自启动,不恰当持锁导致系统无法正常休眠,系统休眠后频繁唤醒系统等;

三、UI卡顿常见原因和分析方法

下面分别介绍出现这些问题的常见原因以及分析这些问题的一般步骤。

1.卡顿常见原因

1)人为在UI线程中做轻微耗时操作,导致UI线程卡顿;

2) 布局Layout过于复杂,无法在16ms内完成渲染;

3)同一时间动画执行的次数过多,导致CPU或GPU负载过重;

4) View过度绘制,导致某些像素在同一帧时间内被绘制多次,从而使CPU或GPU负载过重;

5) View频繁的触发measure、layout,导致measure、layout累计耗时过多及整个View频繁的重新渲染;

6) 内存频繁触发GC过多(同一帧中频繁创建内存),导致暂时阻塞渲染操作;

7) 冗余资源及逻辑等导致加载和执行缓慢;

8)工作线程优先级未设置为

Process.THREAD_PRIORITY_BACKGROUND

导致后台线程抢占UI线程cpu时间片,阻塞渲染操作;

9) ANR;

2. 卡顿分析解决的一般步骤

1)解决过度绘制问题

在设置开发者选项调试GPU过度绘制中打开调试,看对应界面是否有过度绘制,如果有先解决掉:

定位过渡绘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值