LinearLayout的TreeView组件-内存不足错误



我用LinearLayout库制作了一个树视图组件。但当内部项目数非常大时,android会因内存不足而关闭它。我在每个项目中只使用了3个3kb大小的位图。

如何减少组件(LinearLayout)的内存使用我知道ListViewscrollingCache,但我使用LinearLayout
有人能帮忙吗
非常感谢。

ListView使用的系统只初始化用户可见的行(视图)。当一行不再可见时,它不会被破坏,但它用于扩展下一个可见视图的布局。有了这个系统,即使列表中有1000个项目,你也必须只为可见的对象保存在内存中。

在这里你可以找到一个更准确的描述回收系统

我想你也应该看看这个视频。这是谷歌I/O上的ListView课程。我发现了解ListView是如何工作的非常有用。

在你的情况下,如果你不能使用ListView,我认为你应该手动实现这个系统。这很难,所以我能给你的最好建议是尝试创建一个符合你需求的自定义ListView并使用它

PS:方法recycle()有点不同,它用于删除对使用该方法的Bitmap的任何引用。这样,下次GC运行时,它将能够从内存中删除Bitmap

最新更新