繁体   English   中英

如何从Horizo​​ntalScrollView释放屏幕上未显示的图像?

[英]How to free images, which are not displayed on the screen, from HorizontalScrollView?

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

更新:我正在做姜饼。

考虑使用“ 水平列表视图” ,因为似乎您的列表实际上正在增长,而不是ScrollViews的预期用途。 假定ScrollView具有有限的子级,并且很可能是静态子级,因为它不打算动态发布或创建视图。

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

如果我没记错的话,屏幕上没有的图像不在内存中。 无论如何,使用multipul ScrollViews会降低性能。

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

在我看来,为用户使用文件的哈希图和图库小部件(而不是滚动视图)会更快。

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

祝好运

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

也许您可以使用ViewPager http://android-developers.blogspot.com/2011/08/horizo​​ntal-view-swiping-with-viewpager.html这在幕后使用适配器,并且您可以在设置数量很大。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM