Android开发之Activity生命周期篇
一、Activity:
1、Activity:Activity是一个与用记交互的系统模块,几乎所有的Activity都是和用户进行交互的。
2、在Android中Activity主要是用来做控制的,它可以选择要显示的View,也可以从View中获取数据然后把数据传给Model层进行处理,最后再来显示出处理结果。
3、Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。
Acitivity一般意义上有四种状态:
1.当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态;
2.当Activity失去了焦点但仍然对用于可见(如栈顶的Activity是透明的或者栈顶Activity并不是铺满整个手机屏幕),此时处于暂停状态;
3.当Activity被其他Activity完全遮挡,此时此Activity对用户不可见,此时处于停止状态;
4.当Activity由于人为或系统原因(如低内存等)被销毁,此时处于销毁状态;
在每个不同的状态阶段,Adnroid系统对Activity内相应的方法进行了回调。因此,我们在程序中写Activity时,一般都是继承Activity类并重写相应的回调方法。
二、在Activity中主要有7个常用的周期函数,他们分别是:
1、onCreate 在Activity对象被第一次创建时调用
注: 从另一个Activity返回到前一个Activity时,不会调用该函数
2、onStart 当Activity变得可见时调用该函数
3、onResume 当Activity开始准备与用户交互时调用该方法
注: 也可以理解为当Activity加载完毕,并且用户没有对Activity操作的时候调用到的函数
4、onPause 当系统即将启动另外一个Activity之前调用的方法
5、onStop 当前Activity变得不可见时调用该方法
6、onDestroy 当前Activity被销毁之前将会调用该方法
注: 在做后退操作的时候 onDestroy 总是跟在 onStop后面
7、onRestart 当一个Activity再次启动之前将会调用该方法
首先看看Activity的生命周期图
当第一次调用一个Activity就会执行onCreate方法
当Activity处于可见状态的时候就会调用onStart方法
当Activity可以得到用户焦点的时候就会调用onResume方法
当Activity没有被销毁的时候重新调用这个Activity就会调用onRestart方法
当Activity被遮挡住的时候就会调用onPause方法
当Activity被销毁时会调用onDestory方法
我们可以自己定义当处于什么状态的时候做什么事件
Android开发之Activity生命周期篇的更多相关文章
- Android-管理Activity生命周期 -重新创建Activity
按照正常的app行为,很少情况下activity会销毁,只有当用户点击了返回按钮或者activity通过调用finish()发出销毁信号.系统也有可能销毁activity如果它是停止状态并且很久没有使 ...
- Android-管理Activity生命周期 -停止和重启Activity
停止和重启activity在activity的生命周期中很重要,它能让用户感觉你的app总是激活的而且不会丢失他们的进度.activity在下面的这些情况会停止和重启: 用户打开常用app窗口然后从你 ...
- Android-管理Activity生命周期 -暂停和恢复一个Activity
在正常的使用app时,前台的activity有时候会被可见的组件阻塞导致activity暂停.比如,当打开一个半透明的activity(就像打开了一个对话框),之前的activity就会暂停.只要ac ...
- Android-管理Activity生命周期 -开始一个Activity
很多程序都是从main()方法开始启动的,和其他程序不同,android是在activity生命周期的特定状态的特定回调方法中初始化代码的.activity启动和销毁的时候都用很多回调方法. 这里将要 ...
- 【Android实验】第一个Android程序与Activity生命周期
目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...
- Android开发之Activity的生命周期以及加载模式
本篇博客就来好好的搞一下Activity的生命周期,如果搞过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周 ...
- Android学习整理之Activity生命周期篇
一.Activity生命周期说明 Activity的四种状态: ⒈活动状态(Active or Running):也称为运行状态,处于Activity栈顶,在用户界面中最上层,完全能被用户看到,能 ...
- Android体系结构及activity生命周期
Android的系统架构采用了分层架构的思想,如图1所示.从上层到底层共包括四层,分别是应用程序程序层.应用框架层.系统库和Android运行时和Linux内核 Android的系统架构图 每层 ...
- android学习笔记 activity生命周期&任务栈&activity启动模式
activity生命周期 完整生命周期 oncreate->onstart->onresume->onpause->onstop->ondestory 使用场景:应用程序 ...
随机推荐
- s21day01 python笔记
s21day01 python笔记 一.计算机基础 计算机的初步认识 用户:人 软件:QQ.浏览器等 解释器/编译器/虚拟机:java解释器.python解释器等 操作系统 硬件:CPU.内存.硬盘. ...
- day21-22Redis Mahout
PS: Redis 在博客的 JavaEE PS:大数据实时执行3个特性,Storm,kafka,Redis PS:比如在系统中,1s中有大量的请求涌入的系统中,那么请求就存入数据库就挂了,这就需要到 ...
- 获取和设置用户id以及组id
#include<unistd.h> uid_t getuid(void); uid_t geteuid(void);//获取有效用户id gid_t getgid(void); gid_ ...
- centos 7.0 lnmp成功安装过程(很乱)
下载nginx [root@localhost src]# wget http://nginx.org/download/nginx-1.7.9.tar.gz --2015-01-24 12:55:2 ...
- C#窗体模拟键盘按键(组合键)产生事件 ---- 通过keybd_event()函数
如何模拟键盘按键触发产生的事件,比如模拟按下Alt + F4 关闭当前程序,Ctrl+Shift 切换输入法等 可以通过win32api 键盘事件 keybd_event() 来实现 1.定义键盘按键 ...
- php创建桌面快捷方式实现方法
http://blog.csdn.net/fdipzone/article/details/50423613
- UWP --- Display Content 显示基础内容
UWP前端使用的是XAML语言, 这门语言和Xamarin Forms 是比较类似(当你开发多了之后会发现StackPanel和StackLayout傻傻的分不清) 言归正传. UWP中显示内容最简单 ...
- Java Dom4j XML用法总结
1.新建XML文档: Document doc = DocumentHelper.createDocument(); Element root = d ...
- VARCHAR(N)类型,utf8编码,则N最大值为多少,n表示什么?
4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字.字母还是UTF8 ...
- docker 常见系统镜像
镜像选择 alpine:3.7 (首选) debian:stretch-slim (次选) 常见系统镜像大小对比 REPOSITORY TAG IMAGE ID CREATED SIZE fedora ...