Android 性能优化之布局优化笔记(一)
2019-05-03 本文已影响3人
总会颠沛流离
布局嵌套层级过多也会导致应用卡顿。
include 标签共享布局
使用 include 可以减少重复的布局代码,方便维护。
ViewStub 标签实现延迟加载
ViewStub 是一种不可视并且大小为 0 的视图,它只有在设置为可见或者被 inflate 之后才会被布局填充。
merge 标签减少布局层次
使用 merge 标签的场景:
当一个独立的布局文件最外层是 FrameLayout,且这个布局不需要设置背景或者 padding 等属性时,可以使用 merge 标签
当前布局作为另一个布局的子布局时,例如 include 共享布局中的父布局可以考虑使用 merge 标签。
尽量使用 CompoundDrawable
在需要同时显示小图标和文本时,推荐使用 COmpoundDrawable ,虽然实现起来会麻烦一些,但是能减少布局
多级嵌套使用 RelativeLayout
多级嵌套使用 RelativeLayout 减少布局嵌套。
单层父布局推荐使用 LinearLayout 或者 FrameLayout
RelativeLayout 在 measure 会进行两次,而 LinearLayout 或者 FrameLayout只进行一次,因此推荐使用 LinearLayout 或者 FrameLayout做父布局。