性能优化合辑 扫二维码继续学习 二维码时效为半小时

说的简单做起来难
(8 评论)

99.00元

listener 要记录unregist

inner-class

thread --当run没人停止时当前线程类所有对象的引用 都不会被回收

[展开全文]

高效布局标签 

include

merge

ViewStub

Space

[展开全文]

解决overdraw基本准则

1.移除不必要的背影

window默认背景图

listview设置背景后,item又设置背景

多层嵌套,多次设置背景

2.优化布局方式,避免嵌控件重叠

3.自定义view时,使用clipRect属性减少重绘区域

[展开全文]

从内优化:

减少View层级 

RelativeLayout

优点: View树扁平化,减少层级、使用场景广

缺点:测量效率差、使用略复杂

LinearLayout

优点:使用非常简单、测量效率高

缺点:嵌套过多,导致View层级复杂、使用场景相对较窄

FrameLayout

使用场景较特殊,有些场景下可以替代RelativeLayout

[展开全文]

1秒钟刷新60次,所以每次刷新耗时为16毫秒。

如果在16毫秒内不能完成刷新,则导致卡顿现象的出现

[展开全文]

1 尽可能使用RelativeLayout以较少嵌套层级

2 在不影响层级深度的情况下,使用线性布局或者帧布局而不是RelativeLayout。

RelativeLayout的布局规则较复杂和麻烦影响到了性能,但是可以减少层级。

线性布局规则比较简单,无非是垂直和水平。

[展开全文]

结局overdraw基本准则

1.移除不必要的背景图

 window默认背景图

 listView设置背景后,item又设置了背景图

 多层嵌套,多次设置背景图

 

2.优化布局避免空间重叠

3.自定义View的时候使用clipRect属性减少重绘

 

 

[展开全文]

看了之后,我很震惊啊。。我经常给父容器加背景色啊我擦,谢谢老师指正了,说到底还是我对view的绘制原理不够熟悉。

[展开全文]

相关课程