Android生命周期例子小解

234931075a42

Activity 从建立到进入运行态所触发的事件 java

onCreate()-->onStart-->onResume() 布局

           从运行态到中止态所触发的事件                 3d

onPause()--->onStop() xml

                从中止态到运行态所触发事件 blog

onRestart()-->onStart()--->onResume() 生命周期

从运行态到暂停态所触发事件 事件

onPause() get

从暂停态到运行态所触发事件 it

onResume() 基础

根据例子来详细的介绍一下它的生命周期的过程(它所调用的方法):

首先先看一下例子:

Java文件有:ActivityLifeCyde.java   、  SecondLifeCyle.java、ThridLifeCyle.java 

Xml布局文件有:main.xml、second.xml、thirid.xml

首先是ActivityLifeCyde.java文件

234931100aaw

234931135e7i

234931172i8c

2349312199ez

234931263lww

SecondLifeCyle.java文件中

23493129netp

ThridLifeCyle.java  文件中

2349313300dh

Main.xml文件中

23493136q33q

Second.xml

23493140awzs

Thirid.xml文件中

23493144op06

要在AndroidManifest.xml文件中添加两句话

23493166mqe5

效果显示:

2349314774m6

当点击button按钮时

234931542nhr

点击button按钮时返回上个界面

2349314774m6

点击对话框按钮时出现

23493157c330

当点击退出按钮时

23493161udzn

点击取消则返回当前页面,点击肯定则退出当前Activity

下面则根据这个例子来解释一下生命周期的调用过程

一、刚把程序运行起来的时候

onCreate() -- onStart() -- onResume()

二、当点击Button按钮的时候

onPause() -- onStop() 

也就是说 进入另一个Activity的时候会暂停当前的Activity 而且中止

   进入到另一个Activity的时候也会执行 1 中的过程 ,当再返回第一个Activity的时候也会执行 2 中同样的过程

三、点击对话框按钮的时候

onPause() 

这个时候只会把这个Activity 暂停 ,由于出现的对话框一样也在这个Activity中,也就是说这个Activity并无中止,因此他不会调用onStop()这个方法,更不会调用onDestory() 消灭这个Activity ,也能够理解为 当前Activity失去了焦点, 就比如 一个页面中有两个文本框:文本1和文本2   , 光标由文本1 转到文本2中 实际上就是这个过程

四、点击对话框按钮,而后再点击返回键的时候

onPause()  --  onResume() 

当前暂停的Activity在暂停后再次使用的时候会调用onResume()这个方法 从新开始这个Activity

五、点击退出按钮,若是点击取消的时候

在这个过程当中当前程序的生命周期是没有任何变化的

六、点击退出按钮,若是点击退出按钮的时候

onPause() -- onStop() ---  onDestroy()   

退出的话就会把当前的activity结束并销毁掉 

七、运行程序,再返回

onCreate() -- onStart() -- onResume() --  onPause() -- onStop() ---  onDestroy()

整个生命周期的调用

八、运行程序 ,再点击手机键盘中的 小房子  的那个按钮

  onCreate() -- onStart() -- onResume() --  onPause() -- onStop()

这个时候Activity 是没有被消灭的,只是把它暂停了,主页把这个activity覆盖了,至关于进站

九、在8的基础上再点击进入程序

onRestart() ---  onStart() ---  onResume()

把这个activity从暂停的状态从新开始,调用onRestart()这个方法 ,而后再开始运行

十、长时间点击 小房子 那个按钮

这个动做是没有执行任何方法,只是回到了主页面

十一、在 执行了 10 的基础上,再长时间点击 小房子  那个按钮 回到activity

onRestart() ---  onStart() ---  onResume()

而后在ActivityLifeCyde.java 文件中添加这两个方法

0_13234931718i8i

十二、若是在这个时候再点击  小房子 的那个键

   或

     按下电源按键(关闭屏幕显示)时

  或

     长按HOME键,选择运行其余的程序时

onSaveInstanceState() ---  onPause() --  onStop()

其实点击这个键 能够理解为强制性的离开当前的activity 并无获得个人赞成 ,在这个时候会执行 onSaveInstanceState () 这个方法 保存当前activity的进度 ,就比如你在手机上看小说,忽然来了一个电话,手机会保存小说的进度,当你接完电话的时候小说会读取你接电话以前的进度

1三、在执行了 12 的基础上 再进入这个程序中

onRestart() ---  onStart() ---  onResume()

复苏,从新开始

onSaveInstanceState方法和onRestoreInstanceState方法不必定是成对的被调用的,onRestoreInstanceState被调用的前提是,activity 确实被系统销毁了

相关文章
相关标签/搜索