1.Activity状态图

2.Activity生命周期简图

  • 启动Activity: onCreate()—>onStart()—>onResume(),Activity进入running状态。
  • 被其它Activity部分遮盖: onPause(),仍有部分可见,还在内存中。可被回收。同时在onPause里持久化数据。不是在onSaveInstanceState中。
  • 从onPause回到前台:onResume(),然后再次进入running态。
  • 被其它Activity遮盖(HOME,锁屏,启动其它Activity等): onPause()->onStop()。此时仍可能在内存中,系统内存不足时,可被回收。
  • 在Stopped时,用户再次点击进入Activity:如果已被回收,则onCreate()->onStart()->onResume(),没被回收onRestart()->onStart()->onResume()

3.超详细的Activity生命周期图

4.Activity保存、恢复数据

  • 系统一般在 onStop()onPause()前调用onSaveInstanceState(),而不是onDestory()前一步,因为用户可能就是退出。
  • 不要忘记调用super.onSaveInstanceState();
  • onSaveInstanceState只保存一些ui信息,并且不保证一定被调用,持久化的数据一定不要保存在这里。而应在onPause中。
    Note: Because onSaveInstanceState() is not guaranteed to be called, 
    you should use it only to record the transient state of the activity (the state of the UI)
    —you should never use it to store persistent data. Instead, you should use onPause() to store persistent
    data (such as data that should be saved to a database) when the user leaves the activity.

Activity状态图、生命周期图(超详细),onSaveInstanceState只保存、恢复基本ui数据,持久数据不在这里保存。的更多相关文章

  1. Android中Activity的生命周期图

  2. Activity 之生命周期

    Activity 之生命周期 本文内容: 1. Activity 介绍 2. Activity 的生命周期 2.1 生命周期图 2.2 常见情况下生命周期的回调 2.3 关于生命周期常见问题 2.4 ...

  3. 4、Android Activity的生命周期 Activity的生命周期

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXV4aWt1b18x/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  4. Android学习总结(一)——Activity的基本概念与Activity的生命周期

    一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...

  5. Activity的基本概念与Activity的生命周期

    一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...

  6. Activity生命周期图

    首先看一下Android api中所提供的Activity生命周期图 Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码: public class ...

  7. android activity和fragment的生命周期图

    Activity的生命周期: Fragment的生命周期:

  8. Activity Fragment Service生命周期图

    service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径: A started service 被开启的service通过其他组件调用 startService()被创建. 这种 ...

  9. Android(java)学习笔记170:Activity的生命周期

    1.首先来一张生命周期的总图: onCreate():创建Acitivity界面       onStart():让上面创建的界面可见              onResume():让上面创建的界面 ...

随机推荐

  1. vi和vim上查找字符串

    方法/步骤 1 我们以samba的配置文件为例,搜索一个user的字符串. vim /etc/samba/smb.conf 打开smb.conf 2 命令模式下,输入/user "/&quo ...

  2. Object.getOwnPropertyNames()

    1.Object.getOwnPropertyNames(),遍历实例属性(包括不可枚举),返回属性名组成的数组 var arr = ["a", "b", &q ...

  3. HBase单机环境搭建

    在搭建HBase单机环境之前,首先你要保证你已经搭建好Java环境: $ java -version java version "1.8.0_51" Java(TM) SE Run ...

  4. Rust 1.7.0 语法基础 sep_token 和 non_special_token

    一.分隔符 sep_token 指的是分隔符, 是除了 * 和 + 之外的不论什么符号,通常情况下是使用 , 逗号. 比如: 宏的多个參数分隔,以下代码中的逗号就是 sep_token (target ...

  5. Oracle学习(18)【DBA向】:分布式数据库

    分布式数据库 什么是分布数据库? l数据物理上被存放在网络的多个节点上,逻辑上是一个总体. 分布式数据库的独立性 l分布数据的独立性指用户不必关心数据怎样切割和存储,仅仅需关心他须要什么数据. Ora ...

  6. mysql 中 unix_timestamp和from_unixtime 时间戳函数

    1.unix_timestamp 将时间转化为时间戳.(date 类型数据转换成 timestamp 形式整数) 没传时间参数则取当前时间的时间戳 mysql> select unix_time ...

  7. yummain.py install yum 不能运行的原因 yummain.py not found

    [root@akinlau ~] wget http://tel.mirrors.163.com/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1 ...

  8. os 2大功能

    支撑功能 中断管理 时钟管理 原语操作  primitive 资源管理功能 进程管理 存储器管理 设备管理

  9. 高清摄像头MIPI CSI2接口浅解【转】

    本文转载自:http://blog.csdn.net/u012075739/article/details/44672435 MIPI摄像头常见于手机.平板中,支持500万像素以上高清分辨率.它的全称 ...

  10. 牛客练习赛13D:幸运数字Ⅳ(康托展开) F:关键字排序

    链接:https://www.nowcoder.com/acm/contest/70/D 题目: 定义一个数字为幸运数字当且仅当它的所有数位都是4或者7. 比如说,47.744.4都是幸运数字而5.1 ...