在Android中显示大图像时出现问题

时间:2013-01-11 10:14:02

标签: android image-processing out-of-memory bitmapimage

我们正在开发适用于在线和离线模式的Android应用程序。该应用程序有很多大尺寸的图像,视频和PDF格式。因此,要以脱机模式运行应用程序,我们需要将所有图像,视频和pdf下载到SD卡中。因此,在离线模式下,我们正在显示SD卡中的图像,视频和PDF。

我们在应用程序中遇到的技术问题是,当用户多次点击图像时,会出现内存不足问题。为了解决这个问题,我们已经清除了应用程序中的位图和垃圾收集,但对于大图像,它显示了内存不足的问题。我们现在在应用程序中获得3502*1716的图像分辨率。因此,我们将图像从服务器回收为568*500,并将其通过Web服务传递给应用程序。在这种情况下,应用程序工作正常,没有任何内存不足的问题。但是我们需要在应用程序中使用3502*1716分辨率的图像。

请在应用程序中多次单击图像时,建议一些解决此内存不足问题的方法。

1 个答案:

答案 0 :(得分:1)

建议:

1)如果您使用的是view.widget.gallery,请不要!它被推荐是有充分理由的,因为它不会回收视图。网上有一些海关实现相同的行为,但正确处理视图回收。

2)你将无法像你那样计划使用巨大的图像。您可能必须实现类似于MapView的功能(加载/卸载较大图片的较小标题)。可能有一些图书馆,如果你发现图书馆一定要在这里发布社区。