2011-12-02 26 views
0

我的应用程序设计为res文件夹中的所有布局,因为应用程序是图像处理;它处理大尺寸的位图,并给出out of memmory error。我想知道什么是好方法。Android内存泄漏设计布局

  1. 设计布局编程
  2. 使用从res文件夹布局。

如果我正在设计程序中的所有布局,我可以自己清除onDestroy()中的所有布局,如果布局是用XML声明的,我不能这样做。

回答

1

我认为最好的方法是使用XML的方式,因为它更快速,可重复使用..如果你没有通过你当前的活动场景到另一个活动,Android将采取清理你的布局的照顾..

如果需要,您可以在onDestroy()中清理膨胀的布局,完全如何处理编码布局。但我不认为这是必要的。

+0

您无法以任何方式清理布局。您可以尝试将所有布局变量设置为null或设置一个空布局并在之后调用gc,但手动调用gc并不真正支持并且对于android来说是合理的。 – Janusz

+0

嗯,我认为在java中的“干净”一词的意思是:将参考设置为空:) – Cata

0

如果您使用大型位图并在创建后更改它们,请确保您在所有未使用的位图上调用recycle。这是Android手动内存管理的唯一需要。

回收将释放位图在当前Android版本中占用的本地存储空间。布局使用的内存不太可能会导致内存问题。专注于您正在创建的位图对象。