android开发中finish()、onDestroy()、System.exit(0)的区别
来源:互联网 发布:南山滑雪场 知乎 编辑:程序博客网 时间:2024/05/12 18:46
之前一直有一个疑惑,为什么执行activity跳转之后的代码段依然会被执行,包括finish()之后的代码也一样会被执行(打Log发现的),今天就总结一下吧。
- Activity.finish()
当你的activity动作完成之后或者需要关闭当前页面的时候调用的方法。但是由于android在这之后只是将当前activity移出了Task(栈),并没有立刻调用onDestroy(),所以它的资源并没有被立刻释放,finish()后面的代码段一样可以继续执行。由于栈中已经没有了这个activity,所以当我们按back键的时候,就不会再回到这个界面了。 - onDestroy()
这个方法是由android自行调用的,当它被执行的时候,系统回收了当前activity所占用的资源,下次重新进入这个界面的时候,需要重新onCreate()创建。 - System.exit()
这个函数是面向应用程序的,当它被调用的时候,整个进程就结束了。 - 附加:
finish()经常被用在防止回退的场景,比如用户登录成功之后,我们不希望用户通过back依然会回到登录界面,那么就可以在登录成功后执行finish()。注意finish()仅仅代表结束当前activity,我的理解就是仅仅是把这个界面推到了后台,我们看不见了而已,至于何时释放资源是由android系统自己决定的。
0 0
- android开发中finish()、onDestroy()、System.exit(0)的区别
- Android :Activity中finish() onDestroy() 和System.exit()的区别
- Android :Activity中finish() onDestroy() 和System.exit()的区别
- (转)Android开发-Activity中finish() onDestroy() 和System.exit()的区别
- Android 中的finish()、onDestroy()、System.exit()方法的区别
- Activity中finish() onDestroy() 和System.exit()的区别
- Activity中finish() onDestroy() 和System.exit()的区别
- Activity 中 finish() 、onDestroy() 和System.exit()的区别
- Activity中finish() onDestroy() 和System.exit()的区别
- Activity中finish() onDestroy() 和System.exit()的区别
- Activity中finish() onDestroy() 和System.exit()的区别
- Activity中finish() onDestroy() 和System.exit()的区别
- finish/onDestroy/System.exit()的区别
- Android开发—Activity中的finish()、OnDestroy()和System.exit()的区别
- 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别
- 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别
- 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别
- 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别
- UITabBarControler解决旋转问题
- 日常
- ui设计培训机构哪家好*
- eclipse C/C++执行scanf优先于printf
- Error:Must have one-pixel frame that is either transparent or white.
- android开发中finish()、onDestroy()、System.exit(0)的区别
- 创建图形化界面
- qt中橡皮筋类 QRubberBand
- Zlib文件压缩和解压
- QQ开放平台地址 http://open.qq.com/
- git 操作问题
- c中static关键字
- php页面添加计数器
- LightOJ - 1079 Just another Robbery 概率 + dp