【发布时间】:2015-06-03 15:54:38
【问题描述】:
为了理解我将要讲的结构,首先看这个示例图:
我需要在一个片段中显示多个 ListView。问题是在打开给定的片段时,膨胀视图需要很长时间,因为:
每个 ListView 都会为自己膨胀 3-5 个项目,因为这两个 ListView 都没有废料视图(目前)。
所以片段会瞬间膨胀 10-30 个相同视图的实例,这很容易导致 200-300ms 长的卡顿,这远远不能接受(片段有显示和隐藏动画)。
我的问题是,有什么方法可以加快通货膨胀(除了使用 ViewHolders、简化层次结构和通常的事情)。由于视图属于同一类型,因此可能有相同的 global Recycler 存储废品视图,并且会超过屏幕的生命周期,这会导致在创建 ListView 时出现废品视图(查看ListView 源代码,需要大量的编码和对内部结构的理解)。
由于有相当多的应用程序具有类似的结构,我很好奇它们是如何解决(如果可以的话)通胀性能问题。
【问题讨论】:
-
您是在异步分配图像吗?
-
是的,当然,我使用的是毕加索。
标签: android android-layout android-listview android-viewholder android-recyclerview