android中常用的finish();与onDestroy();的区别

finish()方法: 用于结束一个Activity的生命周期,而onDestory()方法则是Activity的一个生命周期。其作用是在一个Activity对象被销毁之前,Android系统会调用该方法,用于释放此Activity之前所占用的资源。finish会调用到onDestory方法。

大家可以测试一下。可以在onDestory里打印一句话,运行一下程序,会发现finish方法会把那句话打印出来。

Activity.finish()方法

在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法,当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了栈,所以当你点击手机上边的“back” 按键的时候,也不会再找到这个Activity.

Acitvity.onDestory()方法

系统销毁了这个Activity的实例在内存中占据的空间。

在Activity的生命周期中,onDestory()方法是他声明的最后一步,资源控件等就被回收了。当重新进入此Activity的时候,必须重新创建,执行onCrate()方法。
--------------------- 
作者:司小三石 
来源:CSDN 
原文:https://blog.csdn.net/lanxingfeifei/article/details/50662133 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android生命周期的onFinish()方法是指当一个Activity销毁时,系统会触发调用该方法。它可以用来执行一些清理操作,比如关闭数据库连接,取消网络请求等。除此之外,onFinish()还可以用来保存一些临时数据,以供下次启动该Activity时恢复使用。 ### 回答2: 在Android开发,onFinish() 是Activity生命周期的一个方法。它在Activity即将被销毁之前调用,用于执行一些必要的清理工作。 onFinish() 方法通常发生在用户主动关闭Activity时。例如,当用户按下返回按钮或者调用finish()方法时,Activity将会关闭并触发onFinish()方法的执行。在这个方法,开发者可以处理一些善后工作,例如释放资源、保存用户数据、关闭数据库连接等。 使用onFinish()方法的一个常见场景是在Activity之间传递数据。当一个Activity需要向另一个的Activity传递数据时,可以使用startActivityForResult()方法启动另一Activity,并在onFinish()方法返回结果数据。 另外,onFinish()方法也可以用于发送广播或者更新其他UI组件。例如,当一个Activity完成某个任务后,可以通过发送广播通知其他组件进行相应的操作,或者更新其他Activity的UI显示。 需要注意的是,onFinish()方法并没有在Activity生命周期被官方明确定义,它是通过继承Activity类并在需要的时候手动实现的一个自定义方法。在实际开发,开发者可以根据实际需求在Activity定义自己的onFinish()方法,并在合适的时机调用它。 总而言之,onFinish()方法在Android开发是用于在Activity即将被销毁之前执行一些清理工作的一个自定义方法。它可用于释放资源、保存数据、发送广播以及更新UI显示等任务。 ### 回答3: 在Android开发,onFinish()是Activity生命周期的一个回调方法。它在当前Activity即将销毁时被调用。当用户按下返回键或者调用finish()方法时,当前Activity就会被销毁,并触发onFinish()方法的执行。 onFinish()方法一般用于释放一些资源或者执行一些特定的操作。例如,当Activity持有某些资源或者与其他组件有关联时,可以在onFinish()方法释放这些资源,以防止内存泄漏。另外,onFinish()方法也可以用来保存一些临时数据或者最后的状态,以便下次重新创建时可以恢复到之前的状态。 此外,onFinish()方法被调用后,Activity就会进入Destroyed状态,即Activity的生命周期从结束进入到销毁阶段。在Destroyed状态下,Activity的实例对象和所有相关的资源都会被系统回收,以释放内存。 需要注意的是,onFinish()方法只会在Activity即将销毁时被调用,而不同于onDestroy()方法。onDestroy()方法是在Activity已经销毁后被系统回收时才会执行。 总之,onFinish()方法在Android生命周期扮演着重要的角色,它提供了一个机会供开发者在Activity即将销毁时进行相关清理和保存操作,以提高应用的性能和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值