我正在开发android应用程序一段时间,并关注了很多关于活动生命周期和应用程序生命周期的帖子。
我知道Activity.finish()在某处调用方法Activity.onDestroy(),并从堆栈中删除活动,我猜它以某种方式指向操作系统和垃圾收集器,他可以“做他的伎俩”并在发现它的好时机释放内存所以....
Activity.finish()
Activity.onDestroy()
这让我对这个方法到底做了什么感到有点困惑finish()。
finish()
有没有机会我会打电话finish()而onDestroy()不会被打电话?
onDestroy()
当调用 finish() 一个活动时,该方法 onDestroy() 被执行。此方法可以执行以下操作:
另外, onDestroy() 不是析构函数。它实际上并没有破坏对象。它只是一种基于某种状态调用的方法。因此,在超类运行并返回之后,您的实例仍然存在并且非常好* onDestroy()。Android 保留进程以防用户想要重新启动应用程序,这使得启动阶段更快。该进程将不会做任何事情,如果需要回收内存,该进程将被杀死