在我的应用程序中有很多图片资源。用于动画和嵌入式图库。我的问题是-在哪里存储这些资源?我必须将该数据与应用程序绑定-在安装过程中不能下载。目前,我所有的图片都存储在可绘制的文件夹中。但是,例如,当我尝试获取图库(网格视图)的图像时,我会遇到内存异常。当我尝试运行动画时,也会发生这种情况。
我应该将这些图像存储在sdcard中,并在需要时加载它。然后从内存中释放资源。如何操作-将资源放入资产/ raw中,然后保存到SD卡中?然后装上它?
请帮我弄一下这个。
发布于 2011-10-26 20:40:18
与此相关的问题有很多:
How do I transfer an image from its URL to the SD card?
然而,这并不能解决您的OutOfMemoryProblem。这是最有可能的原因,在这种情况下,当图像太大。您可以在安装应用程序之前缩小它们。另一种方法是以编程方式调整它们的大小。
发布于 2011-10-26 20:40:38
在我看来,在绘图中包含图像的方法是方便和实用的。
但是,如果图像太大,以至于您无法同时将它们加载到内存中,那么您就会遇到不同的问题。
我要做的第一件事是检查内存不足是不是图片大小引起的--试着让图片变得更小,看看你是否得到了类似的错误,然后你知道你的应用程序可能正在做一些可怕的事情(加载或显示时内存泄漏?)。
如果图像大小是问题所在,但应用程序正在正确启动,那么您需要制定计划,在需要显示图像时仅从资源中加载图像(而不是在显示之前加载所有图像),并在不再需要图像时处理这些资源。
根据您的情况和上下文,对于这种延迟加载,有几种很好理解的方法,需要一些缓冲。
https://stackoverflow.com/questions/7902625
复制相似问题