对于drawables的记忆,在APK之内,在APK之外拥有资源或者内存是否相同更好?

时间:2010-01-05 12:20:01

标签: android memory drawable

我有一个应用程序可以绘制大量图形并进行更改。 由于我有很多图形,我想到将图像放在APK之外,根据需要从互联网下载,并保存在文件应用程序文件夹中。

但是我开始出现了OutMfory异常。

问题是:如果我从APK加载图形而不是从'磁盘'加载图形,那么android会处理内存不同吗?

代码使用APK:

  
    

topView.setBackgroundResource(R.drawable.bg);

  

代码,如果图片在APK之外:

  
    

Drawable d = Drawable.createFromPath(pathName);     topView.setBackgroundDrawable(d);

  

由于

丹尼尔

2 个答案:

答案 0 :(得分:3)

不,内部处理相同。最有可能的是,你正在泄漏图像,或者没有尽快清理它们。完成图像后,请尝试致电Bitmap.recycle();,以强制Android清理它。

答案 1 :(得分:0)

在运行时,无论您加载它的方式如何,您所看到的内存占用量应该大致相同。 Android将使用实用程序对apk内部的资源进行字节对齐,这样可以缩短加载时间。