首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Activity.finish()在安卓中是如何工作的?

Activity.finish()在安卓中是如何工作的?
EN

Stack Overflow用户
提问于 2010-04-07 16:27:51
回答 2查看 61.7K关注 0票数 108

有人能描述一下当Activity调用它的finish()方法时会发生什么吗?

它是立即退出,还是完成调用它的函数?

EN

回答 2

Stack Overflow用户

发布于 2015-01-01 22:31:45

每个生命周期事件,如onCreateonResumeonPause……活动的onDestroy总是在单个线程上调用--“主线程”。

简而言之,这个线程是由一个队列支持的,所有的活动事件都被发送到这个队列中。这个线程可以按插入的顺序执行所有这些事件。

如果你在生命周期回调中调用finish(),比如onCreate()...a,"finish“消息会被添加到这个队列中,但是线程不能自由地选择和执行"finish”操作,直到当前正在执行的方法返回,即线程从当前任务中释放出来。

票数 20
EN

Stack Overflow用户

发布于 2010-04-07 16:38:44

ondestroy()是在您的活动被销毁之前收到的最后一个呼叫。

这可能是因为活动即将结束(有人在其中调用了finish() ),也可能是因为系统临时销毁了该活动的此实例以节省空间。您可以使用isFinishing()方法来区分这两个场景。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2590947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档