android Activity finish 函数的执行时序
Activity的finish()函数是用来结束当前Activity的,其执行时序如下:
-
当调用finish()函数时,系统会立即将Activity标记为“结束状态”,并将其添加到系统的“结束队列”中。
-
然后,系统会调用onPause()函数来通知Activity即将被暂停,这时Activity仍然可以继续执行一些代码,例如保存用户数据等。
-
接着,系统会调用onStop()函数来通知Activity已经停止,这时Activity不再可见,但仍然可以继续执行一些代码,例如释放资源等。
-
最后,系统会调用onDestroy()函数来通知Activity即将被销毁,这时Activity应该释放所有资源,并清除所有状态。
需要注意的是,finish()函数只是将Activity标记为“结束状态”,并没有立即销毁它,实际的销毁过程由系统自动完成。因此,如果在finish()函数执行后立即访问Activity的任何成员变量或方法,可能会导致空指针异常或其他错误。
原文地址: https://www.cveoy.top/t/topic/g9Kr 著作权归作者所有。请勿转载和采集!