0

我正在开发一个由许多 Horizo​​ntalScrollViews 组成的应用程序。最初,一切都很好。但随着应用程序的增长,需要加载更多图像,我面临 OutOfMemoryError。这是因为我的本机内存用完了。因此,我想释放那些在屏幕上不可见的视图,就像 ViewPager 一样。但是,我不想要快照效果。我希望它可以自由滚动。谢谢

更新:我正在研究姜饼。

4

3 回答 3

1

考虑使用Horizo​​ntal List View,因为看起来您的列表实际上正在增长,这不是 ScrollViews 的预期用途。一个 ScrollView 应该有有限的,并且很可能是静态的子数量,因为它不打算动态释放或创建视图。

有很多关于延迟加载和释放列表视图项目的教程。例如,这是一个

于 2012-05-02T06:03:58.107 回答
0

如果我没记错的话,不在屏幕上的图像不在内存中。无论如何,使用 multipul ScrollViews 对性能非常不利。

尝试阅读有关高效 UI 的 android 博客文章

在我看来,使用文件的哈希图和画廊小部件而不是滚动视图对用户来说会更快。

看看fedorvlasov 的 LazyAdapterimageLoader的实现,看看他使用的缓存方法。他们非常有效率。:)

祝你好运

于 2012-05-02T06:03:41.843 回答
0

您正在寻找的是在水平滚动视图上延迟加载图像。我不确定是否可以延迟加载滚动视图。

也许您可以使用 ViewPager http://android-developers.blogspot.com/2011/08/horizo ​​ntal-view-swiping-with-viewpager.html这在幕后使用适配器,您可以在设置算到一个非常大的数字。

于 2012-05-02T06:06:50.147 回答