有人能描述一下当Activity
调用它的finish()
方法时会发生什么吗?
它是立即退出,还是完成调用它的函数?
发布于 2015-01-01 22:31:45
每个生命周期事件,如onCreate
、onResume
、onPause
……活动的onDestroy
总是在单个线程上调用--“主线程”。
简而言之,这个线程是由一个队列支持的,所有的活动事件都被发送到这个队列中。这个线程可以按插入的顺序执行所有这些事件。
如果你在生命周期回调中调用finish()
,比如onCreate()
...a,"finish“消息会被添加到这个队列中,但是线程不能自由地选择和执行"finish”操作,直到当前正在执行的方法返回,即线程从当前任务中释放出来。
发布于 2010-04-07 16:38:44
ondestroy()
是在您的活动被销毁之前收到的最后一个呼叫。
这可能是因为活动即将结束(有人在其中调用了finish()
),也可能是因为系统临时销毁了该活动的此实例以节省空间。您可以使用isFinishing()
方法来区分这两个场景。
https://stackoverflow.com/questions/2590947
复制相似问题