生命周期图解
 
 
以下英文引用全部来自google官方文档说明,方便理解。

onCreate (Bundle savedInstanceState)

You can call finish() from within this function, in which case onDestroy() will be immediately called without any of the rest of the activity lifecycle (onStart()onResume()onPause(), etc) executing.
如果onCreate里面直接finish(),就不会走其他方法,会直接onDestory()。
可以自己打印日志试一下,确实如此。
 

onResume ()

Called after onRestoreInstanceState(Bundle)onRestart(), or onPause(), for your activity to start interacting with the user. This is a good place to begin animations, open exclusive-access devices (such as the camera), etc.
 
有可能在这三个方法之后调用,这是一个开启动画或者专有设备(比如Camera)的好时机。
 
Keep in mind that onResume is not the best indicator that your activity is visible to the user; a system window such as the keyguard may be in front. Use onWindowFocusChanged(boolean) to know for certain that your activity is visible to the user (for example, to resume a game).
 
但是它并不意味着你的Acitivity就对用户可见了,有可能系统的window还在你的前面,比如被锁屏的情况下这个acitivity已经OnResume,但是其实不可见。如果想确定是否这个avitivity对用户可见的,可以用onWindowFocusChanged(boolean)方法来确定。它会在onResume后运行。
 
例子:acitvity进入焦点
MainActivity onCreate
 MainActivity onStart
MainActivity onResume
 MainActivity onWindowFocusChanged  hasFocus=true
 
当此activity退出时
 MainActivity onWindowFocusChanged  hasFocus=false
 MainActivity onPause
 MainActivity onStop
 MainActivity onDestroy

onPause ()

Called as part of the activity lifecycle when an activity is going into the background, but has not (yet) been killed.

When activity B is launched in front of activity A, this callback will be invoked on A. B will not be created until A's onPause() returns, so be sure to not do anything lengthy here.

当Activity要进入后台时触发此方法,但是还没有被杀。

比如当B在A上面启动后,会触发此方法。除非A的onPause方法执行完,否则B不会create.所以要保证不在这个方法内做过多的事情。
 
This callback is mostly used for saving any persistent state the activity is editing, to present a "edit in place" model to the user and making sure nothing is lost if there are not enough resources to start the new activity without first killing this one. This is also a good place to do things like stop animations and other things that consume a noticeable amount of CPU in order to make the switch to the next activity as fast as possible, or to close resources that are exclusive access such as the camera.
 
这个方法主要用来保存一些Acitivity正在编辑的状态或者是关闭一些动画等事件让cpu更好运转,以便更迅速的开启下一个Activity(UI总是要先展示给用户看----生命周期设计精髓),或者是关闭一些资源,比如Camera.
 
After receiving this call you will usually receive a following call to onStop() (after the next activity has been resumed and displayed), however in some cases there will be a direct call back to onResume() without going through the stopped state.
 
在这个方法调用后会接着调用onStop,但是要等到下一个Activity被展示出来。


onStop ()

Called when you are no longer visible to the user.当对用户完全不可见的时候会调用此方法。

Note that this method may never be called, in low memory situations where the system does not have enough memory to keep your activity's process running after its onPause() method is called.

注意这个方法也许就根本不会被调用,当内存严重不足的时候Activity OnPause()后,已经没有足够内存就来执行OnStop();(如开始那幅图,直接onPause走左边)

其他注意事项:
从MainAcitivity----跳转--->SecondActivity发生的日志:
 
MainAcitivity onCreate()
MainAcitivity onStart()
MainAcitivity onResume()
MainAcitivity onPause()
                                                   SecondActivity onCreate()
                 SecondActivity onStart()
                 SecondActivity onResume()
 MainAcitivity onStop()

Android生命周期注意事项的更多相关文章

  1. android 生命周期

    引入android生命周期概念来做前端的hash切换页面的思路: 1. page manager来管理多个page(一对多的关系); 2. route:URL <-> Page; 3. P ...

  2. Android生命周期和Service生命周期

    android生命周期 运行:oncreate → onstart → onresume暂停:onresume → onpause:再次运行:onresume停止:onpause → onstop → ...

  3. Android生命周期里你也许不知道的事

    Android生命周期预计连刚開始学习的人都再熟悉只是的东西了,但这里我抛出几个问题.也许大家曾经没有想过或者可能认识的有些错误. 一.当A启动B时,A和B生命周期方法运行的先后顺序是如何的?当按返回 ...

  4. Android生命周期

    Android的生命周期如下图所示: A和B两个Activity,从A启动B活动.执行的方法: A活动 onCreate() onStart() onResume()                 ...

  5. Android生命周期详细说明

    提供两个关于Activity的生命周期模型图示帮助理解:                                           图1 图2 从图2所示的Activity生命周期不难看出, ...

  6. Android 生命周期 和 onWindowFocusChanged

    转载 http://blog.csdn.net/pi9nc/article/details/9237031 onWindowFocusChanged重要作用 Activity生命周期中,onStart ...

  7. Android生命周期回顾

    先回顾生命周期 Activity一共有3中状态 运行中 Activity位于前台,并具有用户焦点 暂停 另一个Activity位于屏幕前台并具有用户焦点,但此Activity仍可见.也就是说,另一个A ...

  8. Android生命周期例子小解

    Activity 从创建到进入运行态所触发的事件 onCreate()-->onStart-->onResume() 从运行态到停止态所触发的事件                 onPa ...

  9. Android 生命周期,解决savedInstanceState一直为null的问题

    在此之前还是补充下关于监听器的两个要点:   向下一个活动传递数据 : button1.setOnClickListener(new View.OnClickListener() { @Overrid ...

随机推荐

  1. hdu 1282 回文数猜想

    Problem Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其 ...

  2. ssh-agent自启动加key脚本

    公司使用到阿里云. 需要使用 ssh-agent forward 来跳转.为了方便自己就写了这个脚本 1 #!/bin/sh 2 # auto start ssh-agent and add key ...

  3. JSON C# Class Generator是一个从JSON文本中生成C#内的应用程序

    JSON C# Class Generator是一个从JSON文本中生成C#内的应用程序 .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator   ...

  4. iOS 断网处理

    iOS 断网处理 (2014-01-13 18:13:21) 转载▼ 标签: it   - (BOOL)application:(UIApplication *)application didFini ...

  5. stm32的FSMC

    之前用的stm32f103rbt6,它是100引脚以内的,不带FSMC.驱动液晶屏或者SRAM要自己写时序方面的程序,比较麻烦.后来换成stm32f103zet6,带有FSMC.不过在学习FSMC的时 ...

  6. Windows 8.1 正式版镜像下载大全

    该系统已有更新的版本,请转至<Windows 8.1 with update 官方最新镜像汇总>下载. [声明:所有资源均来自于网络,请购买正版授权后再使用.]Win8.1 正式版原版镜像 ...

  7. Win8.1专业版、核心板和企业版有什么区别

    Win8.1核心版(一般就称之为Windows 8.1) + Win8.1 专业版(称之为Windows 8.1 Pro),根据用户输入的序列号(就是Win8密钥)来区分安装.Win8.1企业版(称之 ...

  8. Qt String 与char* char int之间的转换

    下面CSDN的博客已经描述的很好了.不写了 references: http://blog.csdn.net/ei__nino/article/details/7297791 http://blog. ...

  9. 通用多目录makefile的写法

    我的项目文件层次是:项目名称/include.output.src src/admin.stu.tch.common 最外层的Makefile: DEBUG = yMYDEBUG = DEBUGife ...

  10. Android Studio代码着色插件

    文章将给大家分享Studio中代码高亮插件,个人觉得换个代码着色方式还是挺有必要的,起码让视觉上有个变换,感官上爽一些.就像吃惯了大鱼大肉,偶尔也来点青菜萝卜吧.以下是个人喜欢的几款,给个效果图大家看 ...