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