我有一个ViewFlipper加载了ImageViews(大约24),这是应用程序的截图,作为用户指南。用户会打开这个活动,然后翻看图片,看看应用程序是如何工作的。
不幸的是,由于加载所有图像(我的第一个设计是在运行Honeycomb的nook Color上测试的)运行2.2和2.3(我被要求支持),它在手机和模拟器上崩溃了。
您能建议一种代码设计替代方案来限制所需的内存量吗?一次加载几个图像,空图像,替代压缩或格式等?
谢谢
使用Gallery
或ViewPager
与PagerAdapter
(新!包含在兼容性包中)。PagerAdapter
将在需要时销毁/创建每个页面。您可以在自定义适配器中使用Gallery
来重用视图。
见http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html
与其一次加载所有的图像,不如尝试像ViewSwitcher这样的东西,带有两个子ImageViews。保持对屏幕截图列表的参考位置,每次切换视图时,确定它被切换的方向(前一个或下一个),并在切换之前更改下一个ImageView的图像。这样,在任何时候内存中应该只有一到两个图像。
编辑:我觉得binnyb的主意听起来更好。:)