Android应用开发中View绘制的一些优化点解析

2019-12-10 18:40:55刘景俊
易采站长站为您分析Android应用开发中View绘制的一些优化点解析,包括Layout布局和硬件加速等方面,需要的朋友可以参考下  

 一个通常的错误观念就是使用基本的布局结构(例如:LinearLayout、FrameLayout等)能够在大多数情况下
   产生高效率 的布局。 显然,你的应用程序里添加的每一个控件和每一个布局都需要初始化、布局(layout)、
   绘制 (drawing)。举例来说:嵌入一个LinearLayout会产生一个太深的布局层次。更严重的是,嵌入几个使
   用 layout_weight属性的LinearLayout 将会导致大量的开销,因为每个子视图都需要被测量两次。这是反复解析
   布局文件时重要的一点,例如在ListView或者GridView中使用时。

 观察你的布局
 
     Android SDK 工具箱包括一个称作“ Hierarchy Viewer”的工具,它允许你去在你的应用程序运行时分析
  布局。通过使用这个工具,能帮助你发现你的布局效率上的瓶颈问题。
 
     “ Hierarchy Viewer”工具允许你在已连接的设备或模拟器中选择正在运行的进程,然后呈现出布局层次树
   (layout tree)。每个正方块下的交通灯(见下图) --- 红绿蓝表现出了在测量(measure)、布局(layout)、以及绘制
   (draw)过程中的效率值,这能帮助你定位潜在的问题。
 
        假设ListView 中的一项Item 存在如下(见图 1)布局 :

Android应用开发,View

 “Hierarchy Viewer”工具可以在 <sdk>/tools路径下找到。当打开它时,“ Hierarchy Viewer”工具显示了
   所有可用的设备以及运行在这些设备上的进程。点击”Load View Hierarchy”来显示某个你选择的组件的UI布局
  层次。举例来说,图2展现了图1的布局层次树。

Android应用开发,View

  在图2中,你可以直观看到这个三层的布局结构是存在一些问题的。点击项体现出了在每个测量(measure)、