【发布时间】:2011-10-30 03:35:16
【问题描述】:
首先我有一个简单的ListView。实现BaseAdapter 并利用 ViewHolder 模式,我只是有一个TextView,在每个getView() 调用上将文本设置为不同的String。每个字符串有不同的长度,可以分成多行。
滚动时会发生过多的垃圾收集,这是由 TextView 类内部使用的 StaticLayout 引起的。它正在创建float[]'s,然后垃圾收集器收集它们并导致我的ListView's 滚动卡顿。在通过分配跟踪器跟踪我的滚动后,我得出了这个结论。请注意,过度不是收集大量内存,而是收集大量小内存。
由于我遇到了这个问题,即使我将代码简化为基础,我假设有人在我之前遇到过这个问题。因为这是一个系统错误,而不是我在使用 TextView 时可以解决的问题,您建议我使用什么作为解决此错误的方法?
【问题讨论】:
-
你可能做错了什么。发布您的代码。
-
+1 以上。邮政编码,否则无法分辨。
标签: android android-listview textview