消耗消耗内存

时间:2011-08-09 05:04:14

标签: android

你好朋友

我开发了一个应用程序,其中我有很多图像和声音

我可以通过release()方法轻松释放声音,但我无法释放图像 你能告诉我如何发布图片吗? 早些时候我使用system.gc()功能,但它不适用于图像我是垃圾收集器 第二件事是你可以给我一个针对memory management的预防措施( 关于图像,声音和编码部分

感谢
nik

1 个答案:

答案 0 :(得分:0)

System.gc()的调用只是运行垃圾收集器的建议。 GC不需要立即运行。

我相信这些复杂的应用程序将受益于使用MVC模型。模型(或逻辑)类可以将所需的图像和声音保存到缓存文件夹,只需将文件路径列表传递给视图(Activity),该视图可以按需读取和显示,取消引用任何无需的资产。需要更长时间

此外,只要有可能,通过降低分辨率(图像)或下采样(音频)来减少资产规模(图像和声音)将会有所帮助。

更新: - 要对图像进行下采样,请选中以下链接:http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inSampleSize

由于活动是切入点,MVC在Android中实施起来有点困难。因此,可以做的是可以创建单个“模型”对象,可以从任何地方访问它。类似地,也可以创建单个“Controller”对象。活动可以在需要资产时通知控制器,控制器会将请求转发给模型。