刚刚测试了我的应用程序,我注意到在使用MAT打了一段时间后,我有内存泄漏。我的第一个想法是,相对布局的背景图像将成为问题,在我删除xml文件中的android:background="@drawable/abc"
行后,内存泄漏问题就消失了。
我知道我必须在我使用的位图上调用回收,但在此之前我有一些问题:
可以在布局代码中设置布局的背景图像,如下所示:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/abc"?
>
或者只是将ImageView设置为XML,然后将其设置为背景可绘制的?
答案 0 :(得分:1)
活动为created
时占用内存。但是如果你设法在活动为destroyed
时释放它们,几乎会解决内存泄漏问题。
在onDestroy()
方法中写下以下代码。
relativeLayout.setBackroundResource(null);
这将删除相对布局的背景。
修改强>
relativeLayout.setBackground(0);
将背景设置为给定资源。资源应引用Drawable对象或0以删除背景。
答案 1 :(得分:0)
它没有任何意义..你可以这样做.. 您可以稍后获得位图(src)的引用并使用recycle