为什么滚动 scrollview 会大大增加内存使用量?
Why does scrolling a scrollview increase memory usage a lot?
我有一个 acrollview,它在图像视图(自己的特殊列表视图)中可能包含 15 行。每行包含文本和交叉位图。
当我第一次创建滚动视图时几乎没有内存使用,但在我触摸它滚动时,内存使用增加了~2 MB。
这往往会使 GC 运行 使滚动非常不稳定。
我正在重复使用这些视图,所以这不可能。有什么想法吗?
我立即将位图设置到 imageview 中,而不是从互联网上,我从用户数据生成位图。有时 25 行或更多行。
我能以某种方式清除内存使用吗?和实际需要值的 Init?
我认为没有必要编写代码,但如果您 want/need 编写。
如果我滚动太久,应用程序会因内存不足错误而崩溃
===================编辑========================= ==========
我发现每次触摸都会生成新图像(因为它是一样的)..
现在增加的少了,但是增加了。
Android 对于这种情况的最佳做法是使用带有适配器的 Recycler View。这将检查您的记忆力。
https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html
另请观看来自 udacity 的精彩视频
https://www.youtube.com/watch?v=-VPM6ICgCk8
我有一个 acrollview,它在图像视图(自己的特殊列表视图)中可能包含 15 行。每行包含文本和交叉位图。
当我第一次创建滚动视图时几乎没有内存使用,但在我触摸它滚动时,内存使用增加了~2 MB。
这往往会使 GC 运行 使滚动非常不稳定。
我正在重复使用这些视图,所以这不可能。有什么想法吗?
我立即将位图设置到 imageview 中,而不是从互联网上,我从用户数据生成位图。有时 25 行或更多行。
我能以某种方式清除内存使用吗?和实际需要值的 Init?
我认为没有必要编写代码,但如果您 want/need 编写。
如果我滚动太久,应用程序会因内存不足错误而崩溃
===================编辑========================= ==========
我发现每次触摸都会生成新图像(因为它是一样的)..
现在增加的少了,但是增加了。
Android 对于这种情况的最佳做法是使用带有适配器的 Recycler View。这将检查您的记忆力。
https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html
另请观看来自 udacity 的精彩视频 https://www.youtube.com/watch?v=-VPM6ICgCk8