内存从位图泄漏

时间:2014-05-25 15:45:39

标签: android memory memory-leaks bitmap

刚刚测试了我的应用程序,我注意到在使用MAT打了一段时间后,我有内存泄漏。我的第一个想法是,相对布局的背景图像将成为问题,在我删除xml文件中的android:background="@drawable/abc"行后,内存泄漏问题就消失了。

我知道我必须在我使用的位图上调用回收,但在此之前我有一些问题:

  1. 可以在布局代码中设置布局的背景图像,如下所示:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/abc"?
    >
    
  2. 或者只是将ImageView设置为XML,然后将其设置为背景可绘制的?

2 个答案:

答案 0 :(得分:1)

活动为created时占用内存。但是如果你设法在活动为destroyed时释放它们,几乎会解决内存泄漏问题。

onDestroy()方法中写下以下代码。

relativeLayout.setBackroundResource(null);

这将删除相对布局的背景。

修改

relativeLayout.setBackground(0);
  

将背景设置为给定资源。资源应引用Drawable对象或0以删除背景。

参考:setBackgroundResource

答案 1 :(得分:0)

它没有任何意义..你可以这样做.. 您可以稍后获得位图(src)的引用并使用recycle