Android中finish()与destroy()的区别

本文详细解析了Android开发中finish()与onDestroy()的区别及应用。finish()用于结束Activity生命周期,而onDestroy()则在Activity被销毁前调用,用于释放资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


   个人理解,这两者的区别是finish()属于执行方法,而destroy()属于系统方法。finish()是在程序执行的过程中使用它来将对象销毁,而destroy()方法是在系统将该activity完全销毁(从内存中移除),释放资源空间。在写程序过程中,一般调用finish()。如果我们希望系统释放资源的时候,进行某些操作,则可以重写destroy()方法。

  以上是个人理解,希望多交流。以下的内容解释的较为清楚,供大家学习。



以下编写来自:http://blog.sina.com.cn/s/blog_95c607dd0102ux1v.html

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

finish会调用到onDestroy方法,
可以在onDestroy里打印一句话,就会发现在finish方法那也会打印这句话。。。

 

 

Activity.finish()
Call this when your activity is done and should be closed.
在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。
当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了栈,所以当你点击手机上面的“back”按键的时候,也不会再找到这个Activity。
Activity.onDestory()
the system is temporarily destroying this instance of the activity to save space.
系统销毁了这个Activity的实例在内存中占据的空间。

在Activity的生命周期中,onDestory()方法是他生命的最后一步,资源空间等就被回收了。当重新进入此Activity的时候,必须重新创建,执行onCreate()方法。






评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值