Activity调用finish却不立即执行onDestory

Activity.finish()

在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。当你调用此方法的时候,系统只是将最上面的Activity(即当前的activity)移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了栈,所以当你点击手机上面的返回键时,也不会再找到这个Activity。

Activity.onDestory()

在Activity的生命周期中,onDestory()方法是他生命周期的最后一步,当activity执行到这个生命周期时,也就意味着activity将会完全释放,资源空间等就被回收了。如果需要重新启动这个activity,必须重新创建,执行onCreate()方法。


finish函数仅仅把当前Activity退出了,但是并没有释放他的资源。安卓系统回收机制自己决定何时从内存中释放应用程序。当系统没有可用内存到时候,会按照优先级,释放部分应用。

发布了82 篇原创文章 · 获赞 155 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/hxl517116279/article/details/101704070