一般的做法是像这样 http://www.oschina.net/question/157182_59222
用一个链表去记录Activity。在退出的时候一一finish掉。
可是这样的话,每一个加进去的Acitivity在GC的时候都有可达的GC root,就是那个链表,导致Acitivity无法释放。
当Acitivity里的资源占用内存较大,存在OOM的问题。
有没有两全的解决方案呢?
一般的做法是像这样 http://www.oschina.net/question/157182_59222
用一个链表去记录Activity。在退出的时候一一finish掉。
可是这样的话,每一个加进去的Acitivity在GC的时候都有可达的GC root,就是那个链表,导致Acitivity无法释放。
当Acitivity里的资源占用内存较大,存在OOM的问题。
有没有两全的解决方案呢?
如果有图片等占用资源大的,就应该考虑用完就释放。这和activity这个链表没有关系。
链表只是释放自己应用的activity而已,如果没有链表可能释放不了部分activity,只能等系统回收。所以这加着对应用来说没有什么危害。及时activity在你自己的链表中,系统想回收的时候还是回收。