Android学习《第一行代码》03

来源:互联网 发布:梦里花落知多少网王txt 编辑:程序博客网 时间:2024/05/26 09:57

活动的生命周期

  1. Android是使用Task来管理活动的,一个任务就是一组存放在栈里的活动的集合,也叫返回栈。
  2. 活动有4种状态:运行状态,暂存状态(不处于栈顶但是可见),停止状态和销毁状态
  3. 活动的生命周期:
    onCreate():在活动第一次被创建的时候调用,在这里完成初始化操作,如加载布局、绑定事件等。
    onStart():在活动由不可见变为可见时调用。
    onResume():在活动准备好和用户进行交互的时候调用,此时的活动一定位于返回栈的栈顶,并处于运行状态。
    onPause():在系统准备启动或恢复另一个活动的时候调用。在这个方法中将一些消耗cpu的资源释放掉以及保存一些关键数据。
    onStop():活动完全不可见的时候调用。如果启用的是一个对话框式的活动,则只调用onPause(),不调用onStop()。
    onDestroy():活动被销毁之前调用
    onRestart():活动被重新启用了。

  4. 通过使用onSaveInstanceState(Bundle outState),把数据保存到outState里,outState.putString(key,value);从onCreate(Bundle savedInstanceState)的参数里取出数据。

  5. 活动的启动模式:
    standard、singleTop、singleTask和singleInstance。
    在配置文件里给activity标签指定android:launchMode属性来选择启动模式。
    standard:默认模式,每次启动都会创建该活动的一个新实例,不管该活动是否已经存在。
    singleTop:如果返回栈的栈顶是该活动,则会直接使用它而不会创建新的实例。
    singleTask:启动活动时,会先检查是否存在,如果已经存在则会直接使用该实例,并且会把该活动之上的所有活动统统出栈,如果没发现就创建一个新实力。
    singleInstance:指定为该模式的活动会启用一个新的返回栈管理这个活动,为的是其他程序和我们的程序共享这个活动实例,共用这个返回栈,而不是在自己的返回栈创建实例。
    Tips:可以在BaseActivity中打印当前类的名字,这样就能知道当前活动时哪一个了。
原创粉丝点击