发生内存溢出,错误原因可能是在布局文件的xml中的android:background=""使用了图片background png作为背景,背景图片设置为了一个Drawable对象.Drawable对象占用的内存分为Java层的和底层的两部份.JAVA层的内存,如果在你的view释放时,你的背景图片调用了Drawable的setCallback(null), 即取消你的背景图片在VM里的引用,则JAVA这部份的内存空间,在系统调用GC函数时可以把它回收. 但是在native层的内存,GC是释放不了的.这样就会导致有内存泄漏。不使用背景图,使用纯色,就不会了。
当然,如果你不是由于在xml文件里设置background造成的内存泄漏,
http://blog.csdn.net/xuhui_7810/article/details/9493681
http://zwkufo.blog.163.com/blog/static/2588251201312864034812/
http://www.eoeandroid.com/thread-187029-1-1.html
http://blog.csdn.net/scry5566/article/details/8871759
这些博主的答案可能对你有帮助。
时间: 2024-12-14 12:10:39