[英]Why should we call finish() method after sending an intent?
我刚在
Intent wizard = new Intent();
wizard.setClass(this, A.class);
wizard.putExtra("Domain", A.getInstance().B);
startActivity(wizard);
finish();
我们为什么要在这里调用finish()方法? 目的是什么?
finish();
finish用于关闭当前活动。就像您正在将数据发送到其他活动/打开新活动并关闭当前活动一样。
让我们用几个引号来理解它
完成 - 完成活动并应将其关闭时调用此方法。 通过onActivityResult()将ActivityResult传播回发起您的人
onDestroy() -在活动销毁之前收到的最后一个呼叫。 发生这种情况的原因可能是活动即将结束( 有人在其上执行finish() ,或者因为系统暂时销毁了此活动实例以节省空间。
当您在活动上调用finish()
时,将执行紧随onDestroy()
的方法。例如: onPause()
> onStop()
>和onDestroy()
它们可能与您调用finish()
的地方不同!
onDestroy()
用于最终清理-释放您可以自己使用的资源,关闭打开的连接,读取器,写入器等。 如果您不覆盖它,则系统将执行它必须执行的操作。
它告诉您要完成所选择的活动所以它西港岛线调用系统onDestroy()
完成该活动后。( 但是,这并不意味着onDestroy()
只得到由完成()调用时,系统能做到这一点时,它的运行活动发送到后台状态后资源不足 )
此外,还有一些更有趣的问题,例如调用了Activity.finish(),但活动仍保持加载在您可能喜欢的内存中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.