Activity生命周期记忆方法(转)
关于activity生命周期很简单,但总是不能记得很清楚,发现一篇博文记忆方式不错。
转自:http://www.cnblogs.com/kofi1122/archive/2011/04/10/2011772.html
关于Activity生命周期的文章很多,而且大部分也说得很详细,所以作为关于这方面的内容我本来不想多说,但是大家可能跟我之前一样,在看这方面的内容的时候都能很容易地看懂,但是过几天又忘了,或者在用的程序中跳转较多的情况下容易混淆。
这是因为没有真正的理解,或者是没有很好的方法来记忆,所以在这里我就说一下我对Activity生命周期的一些记忆的方式,希望对大家能够有所帮助。
Activity生命周期的基本内容我就不多说了,网上一搜一大把,官方文档也说得很详细。总之,我们知道Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:
onCreate 、onStart 、onResume 、onPause 、onStop 、onDestroy 、onRestart
下面这张图就是我的记忆的方式:
不难看出,其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause;这6个方法是相对应的,那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。
这样大家就应该能够很容易的记住这些方法了。下面再通过一个比喻来看两个Activity的切换过程。
我们把Activity比作一本书,我们要看书,首先从书架上取出书(onCreate),然后放到桌上(onStart),接着打开书(onResume),这样我们就可以看书并可以在书本上写字了。
如果这时候我们要启动另一个Activity,也就是要看另一本书,首先我们放下手中的笔或者说合上书(onPause),然后从书架上拿下另一本书(书2:onCreate),然后把书本2放到桌上并打开(书2:onStart、onResume)。
如果书本1被书本2完全盖住了,即不可见了,就调用书本1的onStop;而如果书本2较小,没有完全盖住书本1,则不会调用。
我们还可以把书本1放回书架上,即onDestroy。
另外,还有一点要注意,Activity在处于onPause、onStop、onDestroy状态下,系统都可以销毁该Activity所在进程,所以我们在处理一些要保存的数据时,必须在onPause方法中进行,因为onStop和onDestroy方法不一定会被调用。
OK,就说这么多……
Activity生命周期记忆方法(转)相关推荐
- Activity生命周期回调方法
文章目录 Activity生命周期 一.Activity生命周期回调方法 1.onCreate() 2.onStart()回调方法 3.onResume()回调方法 4.onPause()回调方法 5 ...
- 安卓学习笔记06:Activity生命周期与启动模式
文章目录 零.学习目标 一.Activity生命周期 1.了解Activity生命周期 2.Activity生命周期简化图 (1)Activity存在与否 (2)Activity可见与否 (3)Act ...
- Android全面解析之Activity生命周期
前言 很高兴遇见你~ 欢迎阅读我的文章. 关于Activity生命周期的文章,网络上真的很多,有很多的博客也都讲得相当不错,可见Activity的重要性是非常高的.事实上,我猜测每个android开发 ...
- Activity与调用线(三):Activity生命周期源码解析
前言 很高兴遇见你~ 欢迎阅读我的文章. 关于Activity生命周期的文章,网络上真的很多,有很多的博客也都讲得相当不错,可见Activity的重要性是非常高的.事实上,我猜测每个android开发 ...
- View的生命周期方法和Activity生命周期方法关系
View 是在Activity 中使用到的,所以在自定义View的时候,我们需要了解Activity 生命周期方法和View的生命周期方法调用先后顺序. 见如下图 (1) 在Activity onC ...
- android的应用入口点函数,android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明...
android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如a ...
- 1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程。2.编写一个程序,要求在第一个界面中输入两个数字,在第二个界面显示第一个界面两个数字的和。
1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程. 首先,我创建了一个MainActivity和SecondActivity两个Activity. ...
- Activity生命周期(五大状态七大方法)
Activity生命周期是指一个Activity从创建到销毁的全过程.下图是Activity的生命周期模型. 一.生命周期五种状态 (1)启动状态:Activity的启动状态很短暂,当Activity ...
- android activity生命周期(一)onCreate和onDestroy方法
首先我们来说一下什么是生命周期 平时我们在开发软件的时候软件就有生命周期,同样 很多的事物都有自己的生命周期 一般来说 生命是不由自己的主观意识控制的. 举个例子 :人的生命周期:从出生-->到 ...
最新文章
- Spring-学习笔记09【JdbcTemplate的基本使用】
- Servlet - cookie、session、servletContext概述
- redis session 超时时间_Shiro性能优化:解决Session频繁读写问题
- 国产自主可控的MBSE解决方案和全数字仿真平台(SkyEye)
- python找到文件夹下指定文件_python实现在目录中查找指定文件的方法
- 拼多多、微博等在新一轮经济变化中将做出更大贡献
- graphpad多条不同的曲线_应用Graphpad Prism制作多组ROC曲线图
- prolog初学语法结构
- 惠普HP Deskjet D1530 打印机驱动
- html设置一个搜索引擎,零基础打造一款属于自己的网页搜索引擎
- ArcCatalog导出数据库中shapefile
- java云笔记_java版云笔记(一)
- 使用kubeadm在CentOS上搭建Kubernetes1.14.3集群
- 我们上市了-taofen8-返利界最美的云彩
- meta标签中的name属性和http-equiv属性解析
- 数组元素两两组合 php,js多个数组元素两两组合三三组合
- adobe imageready怎么扣图
- Linux 上安装iib 9.0
- spring使用@Primary注解
- 力扣 560. 和为 K 的子数组
热门文章
- python培训zyqit.com
- ActiveMQ做消息队列拦截功能
- 【保研加分项】本年度最全大学生竞赛汇总
- PLC中ST编程——单按钮控制多台电机顺序启动
- PDF压缩(全图片PDF压缩)
- Antd的Upload+fetch+FormData上传Excel文件请求方式?
- Qt使用QSettings读写ini文件
- c语言程序设计俄罗斯方块PPT,C语言实现俄罗斯方块.ppt
- 小红书kol种草怎么做?达人种草笔记需要注意什么
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.build.api.tran