Android ViewFlipper与ImageViews崩溃过多的内存使用



我有一个ViewFlipper加载了ImageViews(大约24),这是应用程序的截图,作为用户指南。用户会打开这个活动,然后翻看图片,看看应用程序是如何工作的。

不幸的是,由于加载所有图像(我的第一个设计是在运行Honeycomb的nook Color上测试的)运行2.2和2.3(我被要求支持),它在手机和模拟器上崩溃了。

您能建议一种代码设计替代方案来限制所需的内存量吗?一次加载几个图像,空图像,替代压缩或格式等?

谢谢

使用GalleryViewPagerPagerAdapter(新!包含在兼容性包中)。PagerAdapter将在需要时销毁/创建每个页面。您可以在自定义适配器中使用Gallery来重用视图。

见http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html

与其一次加载所有的图像,不如尝试像ViewSwitcher这样的东西,带有两个子ImageViews。保持对屏幕截图列表的参考位置,每次切换视图时,确定它被切换的方向(前一个或下一个),并在切换之前更改下一个ImageView的图像。这样,在任何时候内存中应该只有一到两个图像。

编辑:我觉得binnyb的主意听起来更好。:)

最新更新