User Tools

Site Tools


android:mem-leak

This is an old revision of the document!


Android内存泄露

虽说Android程序是用JAVA写的,并且在Dalvik VM中实现了JAVA的内存自动回收机制,但还是不可避免的会发生内存泄露,而且JAVA的内存泄露看起来更是诡异,如果是C写的发生内存泄露后,只要去仔细地去找分配内存的地方,再找到释放的地方是否一一对应,而且也有很多工具可以帮助你找到内存泄露.但一旦用到JAVA,就会自然觉得内存回收是虚拟机的事情,与我何干?也许正是由于JAVA的内存回收机制在我们的心目中过于强大,所以往往也就不会太在意内存的使用和回收了,写Android应用程序亦如此,至少我到现在都没怎么注意内存的回收问题.

当然一般情况下不会出现很严重的内存泄露,Android允许每个进程分配最多40M的内存,不太会因为内存使用过多而FC,但当一个进程中需要存在多个全屏的Widget,而且每个Widget都是ListView/GridView组成,并且要显示很多图片,这40M内存就显得有点太少了,如果再发生一些内存泄露,那会随便切下屏幕就有可能产生Out of memory的Exception,然后也就是经常的FC了,所以在这样的情况下管理好内存是一件很重要的事情.

转载

参考链接

/var/www/dokuwiki/wiki/data/attic/android/mem-leak.1279943930.txt.gz · Last modified: 2016/05/05 13:06 (external edit)