Android 高级进阶-布局优化笔记

布局嵌套层级过多也会导致应用卡顿。

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做父布局。

猜你喜欢

转载自blog.csdn.net/weixin_33985679/article/details/87381481