具有复杂视图的ListView性能作为列表项

时间:2014-01-18 14:32:45

标签: android android-layout listview

我遇到了性能问题。我必须基于ListView开发复杂 ui,并且真正复杂的项目布局包含嵌套布局,自定义视图,大量图像等。 问题与往常一样,当客户具有创造性且信用卡没有限制时:性能。 列表视图的创建在快速设备上持续约10秒。 当我描述应用程序时,我发现,大部分CPU功能用于onMeasure方法 - 你知道它是如何工作的 - 测量宽度,将测量需求传递给孩子,让他们进入lauouts,要求布局改变它的高度,然后用新的界限再次衡量 - 恐怖。 我无法通过布局向您展示屏幕 - 只是说每个项目中有大约80个视图 - 不,我们不能少做。 我的想法是基于简单的观察 - 特定设备上的每一个子视图都具有相同的大小 - 即如果我有一个图像视图显示在列表项内 - 在每个项目上它将具有完全相同的大小

所以我想为尺寸做一些缓存 - 即 - 我有包含一堆视图的LinearLayout,我想执行简单的算法: 创建CustomLayuout扩展LineraLayout 像宽度,高度(即静态)的成员 当第一次创建视图时,我希望将其大小放入静态变量中,并在创建视图的下一个实例时重用它们。

此后(有点长)描述最后我的问题:

  1. 我可以申请这样的方法,还是有一些严肃的 缺点是什么?
  2. 怎么做(欢迎代码片段)?
  3. 提前谢谢

0 个答案:

没有答案