`
wgllz
  • 浏览: 109899 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别

 
阅读更多

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()方法。

 

System.exit(0)

这玩意是退出整个应用程序的,是针对整个Application的。将整个进程直接KO掉。

 

写在最后

在自己做的项目中,根据需要使用的时候finish()方法。只有三个页面,它们之间的跳转情况如下:

       主页面 < -- > 登录页  < -- > 注册页  

其中注册页面中的一个按钮是“使用已有帐号登录”,事件是回到上一个Activity进行登录。当我对这个按钮不停的测试几次之后,按“back”键的时候,很遗憾,并不是按照理想的顺序:主页面 < --  登录页  < --  注册页  

而是刚刚测试时候的逆向顺序:登录页  < -- > 注册页 跳完几个循环之后,才回到主页面。想想也是,Activity不停的产生,不停的塞到那个栈里面,一个一个的向外面拿,当然是这样的顺序啦。

这里面Activity页面跳转动作事件完全是通过startActivity(new Intent(.....))来实现的。经过一些资料的查找,重新认识了上面的几个方法,根据此处的实际情况和需要,选择调用当前Activity对象的finish()方法。 

 

开始想多多翻译一些文档上面的英文,使其更具正确性,但是很多未知的单词让我小腿有点软。偶弥陀佛

 

参考资料来自:

http://www.cnblogs.com/pengwang/archive/2011/04/30/2033548.html

再加一张神图:

分享到:
评论

相关推荐

    实验一Android环境构建与Activity生命周期.doc

    实验一Android环境构建与Activity生命周期 【目的】 安装智能手机开发相关软件平台,并在此基础上测试Activity的生命周期过程。 【要求】 1. 完成智能手机开发平台安装、以及相关配置; 2. 并实现Hello World; 3. ...

    android控件

    android控件 package com.iotek.acitity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget....

    exit结束activity

    两个界面,MainActivity打开SecondActivity 可以finish或者exit,finish的效果就是就会toast ondestory 但是用exit就不会,还会重启应用。

    8941-Android智能手机编程.docx

    8941-Android智能手机编程 第1题. 下面( )智能手机平台是开放源代码的。 A. Android B. Windows Phone C. iOS D. Symbian 第2题. Android智能手机平台是基于( )程序语言来进行应用开发的。 A. C# B. Objective...

    Android编程之Activity中onDestroy()调用分析

    主要介绍了Android编程之Activity中onDestroy()调用方法,针对onDestroy引起的内存泄露及解决方法进行了分析,并给出了解决方案,需要的朋友可以参考下

    BiliBili-基于ijkplayer rxjava retrofit,组件化思想,实现一个仿B站的Android客户端.zip

     android:name="android.permission.READ_EXTERNAL_STORAGE"/&gt;注意,如果横竖屏切换不想重新走一遍生命周期,还需要在表单中设置Activity的configChanges属性:&lt;activity android:name=".PlayActivity"  android:...

    Android百度地图定位空指针问题解决android.os.Message com.baidu.location.g.f$d.obtainMessage(int, java.lang.Obj

    在百度地图页面(Activity为singleTask)跳转到别的页面 ,离开地图页面。偶发性空指针,具体日志信息如下: 解决: 1、原本我在生命周期onStop里调用的mlocationClient.stop(); 把它改到在onDestroy调用 2、...

    Android 生命周期例子

    andriod生命周期完整例子.是android开发中入门代码,对理解android 软件中事件的执行顺序有帮助。

    Android监听Home键和Back键的区别介绍

    一:Android 中Home键监听和Back键监听的区别: (1).在Android中,当按下Home键的时候,默认情况下Stop前台的Activity,即Activity设置成停止状态【onStop()】,而不是销毁状态【onDestory()】。如果再次启动该...

    android 面试题

    6.activity一般会重载7个方法用来维护其生命周期,除了onCreate(),onStart(),onDestory() 外还有onrestart,onresume,onpause,onstop。 7.android的数据存储的方式sharedpreference,文件,SQlite,contentprovider,...

    Android Activity的生命周期详细介绍

    Android Activity的生命周期详细介绍 生命周期描述的是一个类从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法。在这个过程中,会针对不同的生命阶段调用不同的的方法。  Activity是Android中四大组件之...

    android横竖屏切换不重启activity解决方案

    部分网友会发现Activity在切换到后台或布局从横屏LANDSCAPE切换到PORTRAIT,会重新切换Activity会触发一次onCreate方法,使用其他的方法同样可以实现

    android 横竖屏切换生命周期

    为了避免activity 重新加载过程中有闪屏的现象,则需要再清单文件中配置该activity 的属性 android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation|screenSize",详细信息请参阅...

    Activity isFinishing()判断Activity的状态实例

    在Activity中调用finish()或按返回键退出时,若有资源被其他对象引用不能释放(如context被某个单例对象引用或正在线程中被使用),则activity不会被调用onDestory()方法。 isFinishing() 可用来判断Activity是否...

    Android应用级小知识.doc

    Android应用级小知识一、关于onConfigurationChanged()的几点小知识Android中横竖屏(landscape是横向,portrait是纵向)切换时:没有调用onConfigurationChanged(),Activity执行过程为:onPause()—&gt;onStop()—&gt;...

    Android四大组件之Activity详解

    一、Activity的生命周期 首先,我们来了解一下Activity典型的生命周期 一个Activity从启动到结束会以如下顺序经历整个生命周期: onCreate()-&gt;onStart()-&gt;onResume()-&gt;onPause()-&gt;onStop()-&gt;onDestory()。包含了六...

    Android生命周期演示

    Activity经历如下3个阶段:  开始Activity:在这个阶段依次执行3个生命周期的方法,分别是onCreate、... 关闭Activity:当Activity被关闭时系统会依次执行3个生命周期方法,分别是:onPause、onStop和onDestory。

    安卓java读取网页源码-Android.Interview-experience:自己面试过程中遇到的一些题目加以分类总结,顺便梳理下知识

    自己面试过程中遇到的一些题目加以分类总结,顺便梳理下知识。 在快要毕业之际,整理下以前面试的题目做个大概的梳理,主要包括android。java计网算法等另做整理。 1.Activity Q1:请描述下Activity的生命周期? Ans: ...

    Activity生命周期示例

    主要讲讲: 何时onPause, 何时onStop,何时onDestory; 以及恢复的时候,何时onRestart,何时onResume。

Global site tag (gtag.js) - Google Analytics