一、布局优化
1.什么是过度重绘
过度绘制(Overdraw)描述的是屏幕上的某个像素在同一帧的时间内被绘制了多次。在多层次重叠的 UI 结构里面,如果不可见的 UI 也在做绘制的操作,会导致某些像素区域被绘制了多次,同时也会浪费大量的 CPU 以及 GPU 资源
QQ截图20190306101456.png
2.布局优化策略
a.减少布局层次结构(善用相对布局Relativelayout)
RelativieLayout的功能相对复杂,它的的布局过程需要花费更多的Cpu时间,能用FrameLayout和LinearLayout替代的就不用RelativeLayout,FrameLayout和LinearLayout都是相对简单。
b.使用抽象布局标签include、merge、ViewStub
include,在<include>标签中androd:layout_* 出现其他的android:layout_height、android:layout_width成对出现,否则android:layout_*属性无法生效,如果include和根布局同时指定了id,则以include标签id为准
c.使用约束布局ConstraintLayout
onstraintLayout非常适合使用可视化的方式来编写界面,但并不太适合使用XML的方式来进行编写;ConstraintLayout非常适合使用可视化的方式来编写界面,但并不太适合使用XML的方式来进行编写。ConstraintLayout则是使用约束的方式来指定各个控件的位置和关系的,它有点类似于RelativeLayout,但远比RelativeLayout要更强大.
网友评论