我正在开发一个由许多 HorizontalScrollViews 组成的应用程序。最初,一切都很好。但随着应用程序的增长,需要加载更多图像,我面临 OutOfMemoryError。这是因为我的本机内存用完了。因此,我想释放那些在屏幕上不可见的视图,就像 ViewPager 一样。但是,我不想要快照效果。我希望它可以自由滚动。谢谢
更新:我正在研究姜饼。
我正在开发一个由许多 HorizontalScrollViews 组成的应用程序。最初,一切都很好。但随着应用程序的增长,需要加载更多图像,我面临 OutOfMemoryError。这是因为我的本机内存用完了。因此,我想释放那些在屏幕上不可见的视图,就像 ViewPager 一样。但是,我不想要快照效果。我希望它可以自由滚动。谢谢
更新:我正在研究姜饼。
考虑使用Horizontal List View,因为看起来您的列表实际上正在增长,这不是 ScrollViews 的预期用途。一个 ScrollView 应该有有限的,并且很可能是静态的子数量,因为它不打算动态释放或创建视图。
有很多关于延迟加载和释放列表视图项目的教程。例如,这是一个。
如果我没记错的话,不在屏幕上的图像不在内存中。无论如何,使用 multipul ScrollViews 对性能非常不利。
在我看来,使用文件的哈希图和画廊小部件而不是滚动视图对用户来说会更快。
看看fedorvlasov 的 LazyAdapterimageLoader
的实现,看看他使用的缓存方法。他们非常有效率。:)
祝你好运
您正在寻找的是在水平滚动视图上延迟加载图像。我不确定是否可以延迟加载滚动视图。
也许您可以使用 ViewPager http://android-developers.blogspot.com/2011/08/horizo ntal-view-swiping-with-viewpager.html这在幕后使用适配器,您可以在设置算到一个非常大的数字。