Android性能优化

1.内存泄漏

参考 Android内存泄漏

2.内存抖动

定义:内存抖动是由于短时间内有大量的对象被创建或者被回收导致的,它伴随着频繁的GC。GC会大量占用UI线程资源和CPU资源,会导致App整体的卡顿。
检测工具:
Memory Monitor :跟踪整个app的内存变化情况
Allocation Tracker :追踪内存对象的来源
Heap Viewer:查看当前内存快照,便于对比分析哪些对象有可能发生了泄漏
建议:
①尽量避免在循环中创建临时对象
②自定义View的onDraw()方法会被频繁的调用,不要再该方法中创建对象
③大量使用Bitmap时,将它们缓存在数组中实现复用
④对于能够复用的对象,使用对象池将它们缓存起来

3.布局优化

①父控件有背景颜色,同时满足条件时,子空间无须再设置;每个子控件都有自己的颜色且能够完全覆盖父控件时,父控件无须再添加背景颜色。
②尽量使用RelativeLayout来代替LinearLayout,减少View的层级。在View层级相同的情况下,尽量使用LinearLayout,因为RelativeLayout测绘比较费时。
③减少不必要的嵌套布局,使用include、merge标签加强复用、减少层级,使用viewstub按需加载。
④复杂页面使用ConstraintLayout,可有效减少层级
⑤onDraw()会被频繁的调用,该方法中不要创建局部对象,不要做耗时操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值