关于this.finish()究竟是什么,我有点朦胧.具体来说,我只是在一个活动中编写了以下代码行:
this.finish();
Globals gs = (Globals) getApplication();
gs.MainActivity.finish();
Run Code Online (Sandbox Code Playgroud)
该代码旨在关闭当前活动并关闭应用程序的核心活动.而且效果很好.但是,我很想知道......显然当前的活动在第一行执行后并没有完全结束.如果我要调用this.finish()然后开始一些复杂的计算呢?
我的问题是:当我调用this.finish()时,我的Activity什么时候被删除?
finish()在finish()方法实际启动之前,无论调用什么方法都会一直运行.因此,要回答您的问题,在调用方法完成后,您的活动将运行其finish方法.如果您不希望该方法继续,那么您可以在之后添加return语句finish
我对 this.finish() 到底做了什么有点模糊
调用finish()基本上只是通知 Android 操作系统您的活动已准备好被销毁。然后,Android 将(无论何时准备就绪)调用onPause()Activity 并通过 Activity 生命周期继续销毁它(不会调用 onDestroy() 保证)。通常,您可能不应该在调用 之后再执行任何操作finish()。根据Android 文档,您应该finish()在准备关闭活动时调用。
我的 Activity 什么时候被删除?
我猜你的活动只会被添加到一些销毁队列中。在此期间,您可能可以继续执行,直到操作系统将其销毁。我相信您肯定可以完成执行finish()被调用的方法。
| 归档时间: |
|
| 查看次数: |
6445 次 |
| 最近记录: |