在过去10多个小时内,我尝试在单个Android屏幕上获取大量(40+)数量的图像(采用ImageButton格式),而不会出现内存错误。我工作的活动是着色书应用程序的图像选择器。图像具有各种尺寸,范围为(500到1200)x(500到1200),PNG(如果重要的话)。
我试过了:
我在考虑什么
这些解决方案似乎都不如所有设备上提供的Android Photo Gallery应用程序一样好。我很乐意体验这种体验。不知道如何做到这一点:(
两个问题。
感谢。祝周末愉快!
PS。在iOS上,当我将所有按钮添加到滚动视图中时,所有工作都像魅力一样:(
答案 0 :(得分:3)
一些基本计算揭示了您的问题:
在1200x1200 =大约57MB的40多张图像,评论是正确的,您需要对图像进行二次采样(即缩略图)或使用诸如Universal Image Loader之类的库。转换为JPG并不重要。这是一种压缩存储格式,显示像素所需的内存保持不变。
Loading Large Bitmaps Efficiently上有一篇关于示例代码的Android开发人员文章。文章Android Bitmap Loading for Efficient Memory Usage中详细介绍了以下步骤。
加载大位图的基本步骤是: