如图,当内存不足时,Gc回收栈内的activity的顺序是怎么样的呢。
1.一开始我的想法是:栈应该符合先进后出的原则,应该是先回收twoActivity,最后回收homeActivity。
2.后来想想又不对,因为栈顶的activity一般都是直接与客户交互的界面,内存不足时如果先回收栈顶的话,好像不太合理。
3.于是,我就开始测试了,经过几次测试,果然,当内存不足时,Gc回收栈内的activity是先回收栈底的,换句话说就是远离栈顶的activity先被回收。
当时研究这个是因为有一个需求:APP退出时(不管是Gc回收,还是被杀死),退出时一定会走的方法。
但是经过测试,貌似并没有这样的方法,比如说Application中terminate方法什么的都不是必然执行的。所以想着在栈底的Acitivity做些文章,但是按照上面测试
出来的结果的话,并不能做到,所以有大神知道的话,请指教。