简介:四大组件之一,在应用中一个Activity可以用来表示一个界面,可以理解为用户可视化界面,一个android应用必须通过Activity来运行和启动。

1.三大基本状态与七大生命周期函数

2.代码实现---LifeCycleActivity.class

/**
* Activity的三个状态和七大生命周期方法分析
*
*/
public class LifeCycleActivity extends AppCompatActivity { /**
* Activity创建时第一个调用的方法,通常我们在该方法中加载布局文件,初始化UI组件,事件注册等等
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_life_cycle);
System.out.println("Activity---->onCreate");
} /**
* 在onCreate()之后调用,用于显示界面,但用户还不能进行交互
*/
@Override
protected void onStart() {
super.onStart();
System.out.println("Activity---->onStart");
}
/**
* 在onStart()之后调用,该方法执行完成后,用户可以进行交互,当前Activity进入Resumed状态
* 当一个paused状态的activity被重新返回时,会再次调用该方法,让activity进入运行状态
*/ @Override
protected void onResume() {
super.onResume();
System.out.println("Activity---->onResume");
} /**
* 当其它activity(透明或窗口模式)进入时,会被调用,让当前activity进入paused状态(暂停状态)
* 当前activity还可见但不可交互,如果其它更高优先级的APP需要内存时,当前activity可能会被销毁(kill)
* 当前activity被返回时会调用onResume()
*/
@Override
protected void onPause() {
super.onPause();
System.out.println("Activity---->onPause");
} /**
* 当其它activity完全覆盖该activity时,会被调用,当前activity进入stop状态(停止状态)
* 当前activity不可见,如果其它更高优先级的APP需要内存时,当前activity可能会被销毁(kill)
* 当前activity被返回时会调用onRestart()
*/
@Override
protected void onStop() {
super.onStop();
System.out.println("Activity---->onStop");
} /**
* 当一个stopped状态的activity被返回时调用,之后再调用onResume方法进入运行状态
*/
@Override
protected void onRestart() {
super.onRestart();
System.out.println("Activity---->onCreate");
} /**
* 当前activity被销毁时调用,通常在该方法中用来释放资源
*/
@Override
protected void onDestroy() {
super.onDestroy();
System.out.println("Activity---->onDestory");
} }

  

3.运行结果分析:

(1)当启动actvity时,会调用onCreate()-->onStart()-->OnResume()

(2)当按Home键或者锁屏键时,会调用OnPause()-->OnStop()

(3)当按退出键时,会调用OnPause()-->OnStop()-->OnDestory()

(4)当解开锁屏时,会调用OnRestart()-->OnStart()-->OnResume()

Activity系列讲解---三大基本状态与七大生命周期函数的更多相关文章

  1. Activity系列讲解---返回结果的处理

    设想一下:由当前Activity跳转到其它Activity,从其它Activity再返回到当前Activity时,如何获取其它Activity存放的数据?下面用一个例子讲解, 点击selsect按钮跳 ...

  2. Activity系列讲解---Activity运行时的屏幕方向,全屏,窗体模式的设置

    Android内置了方向感应器的支持.Android会根据所处的方向自动在竖屏与横屏间切换.但是有的应用程序只能在横/竖屏时运行,比如某些游戏,此时我们要锁定该Activity运行时的屏幕方向,< ...

  3. Activity系列讲解---数据传递

    在Android中,不同的Activity实例可能运行在一个进程中,也可能运行在不同的进程中.因此需要一种特别的机制帮助我们在Activity之间传递消息.Android中通过Intent对象来表示一 ...

  4. Android之Activity系列总结(一)--Activity概览

    Activity 本文内容 创建 Activity 实现用户界面 在清单文件中声明 Activity 启动 Activity 启动 Activity 以获得结果 结束 Activity 管理 Acti ...

  5. Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解

    前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...

  6. Android之Activity系列总结(三)--Activity的四种启动模式

    一.返回栈简介 任务是指在执行特定作业时与用户交互的一系列 Activity. 这些 Activity 按照各自的打开顺序排列在堆栈(即返回栈,也叫任务栈)中. 首先介绍一下任务栈: (1)程序打开时 ...

  7. Activity学习(一)——状态转变

    (转自:http://blog.csdn.net/flowingflying/article/details/6415323) Android很大的应用场景是手机,有一些应用具有特别的优先级别,例如电 ...

  8. c/c++ llinux epoll系列5 解除epoll_wait状态

    linux epoll系列5 解除epoll_wait状态 有时候会有解除epoll_wait状态的需求. 实现方法: 1,给执行epoll_wait的程序发signal. 2,使用sockpair. ...

  9. Android之Activity系列总结(二)--任务和返回栈

    任务和返回栈 应用通常包含多个 Activity.每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他 Activity. 例如,电子邮件应用可能有一个 Activity 显示 ...

随机推荐

  1. SQL Server-5种常见的约束

    引自:http://www.cnblogs.com/dekevin/p/4772235.html SQLServer 中有五种约束, Primary Key 约束. Foreign Key 约束. U ...

  2. SpringMVC注解汇总(二)-请求映射规则

    接上一节SpringMVC注解汇总-定义 讲到Httpy请求信息 URL路径映射 1)普通URL路径映射 @RequestMapping(value={"/test1", &quo ...

  3. Office 365 如何使用powershell查询邮件追踪

    如何使用Powershell 对office365的邮件进行查询追踪 1. 首先链接到Exchange Online 管理上面 $UserCredential = Get-Credential $Se ...

  4. 解决java.net.MalformedURLException: unknown protocol: c问题

    修改前代码: DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builde ...

  5. thusc2016游记&&滚粗记&&酱油记

    #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.com/w ...

  6. python学习笔记-(十四)I/O多路复用 阻塞、非阻塞、同步、异步

    1. 概念说明 1.1 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可 ...

  7. IntelliJ IDEA 15,16 win 7 64位安装包以及注册码 百度云盘

    不知道发出来,有用没有,要是官网下载不了的话,可以用我的这个哦,虽然不是最新的. ideaIU-162.1447.21 ideaIU-15.0.2 win7  64系统的安装包 链接:http://p ...

  8. 脚本工具(获取某个文件夹下的所有图片属性批量生成css样式)

    问题描述: 由于有一次工作原因,就是将某个文件夹下的所有图片,通过CSS描述他们的属性,用的时候就可以直接引用.但是我觉得那个文件夹下的图片太多,而且CSS文件的格式又有一定的规律,所有想通过脚本来生 ...

  9. ASP.NET MVC Filter- 登录验证 【异步刷新列表视图】

    public class TAjaxListLoginValidateAttribute : FilterAttribute, IAuthorizationFilter { public void O ...

  10. SQL语句判断数据库、表、字段是否存在

    from master..sysdatabases where name='TestDB')    print 'TestDB存在'else    print 'TestDB不存在' --判断表[Te ...