Android Studio 学习 - Activity生命周期
落下两晚了,继续学习……
先粘贴2张官方给的流程图:

--------------------------------------------------------------------------

(1)onCreate()
当Activity第一次被创建时调用,主要用于a: 为Activity设置所要使用的布局文件 b: 为按钮绑定事件监听器等静态的设置操作
(2)onStart()
当Activity处于可见状态时调用 (是否等同于Delphi中OnShow?)
(3)onResume()
开始与用户进行交互时,可以获得用户焦点,进行点击等操作的时候
(4)onPause()
当系统启动另一个新的Activity时,先调用前一个Activity的onPause方法。通常用于保存现有的Activity中的数据、停止动画等。
(5)onStop()
当Activity处于不可见状态时(现有的Activity被新的Activity完全覆盖时),但是如果只是在现有的Activity中弹出一个对话框,没有完全覆盖现有的Activity,是不会调用此方法的。
(6)onRestart()
(7)onDestroy()
a. 在系统不足以支撑现在的应用程序的情况下,系统会关闭(销毁)掉一部分系统认为不必要的Activity,以节省空间
b. 程序中手动调用finish()方法进行销毁
按照陈启超老大的教学视频自己试了下,感觉跟Delphi中的OnCreate、OnShow、OnActivate、OnClose、OnDestroy那些事件差不多。

Android Studio 学习 - Activity生命周期的更多相关文章
- Android-管理Activity生命周期
用户在浏览,退出,返回app时,app中的Activity实例会在不同状态之间切换.比如,当activity第一次启动,然后来到系统前台,受到用户的注意,这个过程中,android系统调用了一系列ac ...
- 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生命周期
Android的系统架构采用了分层架构的思想,如图1所示.从上层到底层共包括四层,分别是应用程序程序层.应用框架层.系统库和Android运行时和Linux内核 Android的系统架构图 每层 ...
- Android Studio教程03-Activtiy生命周期的理解
目录 1. Activity 1.1. 安卓中的Activity定义和特性: 1.2. 注册Activity 1. Intent filters:设置默认开启的activity 1.3. Activi ...
- Android入门:Activity生命周期
一.Activity生命周期介绍 我们在学Java Web时会学到Servlet的生命周期,因此对生命周期的概念已经有一定了解,简单地说就是某个事物从出生到死亡的过程. Activity也存在声明周期 ...
随机推荐
- oracle数据向历史表数据迁移————procedure
create or replace procedure remove_refund_his_pro isbegin declare cursor refund_query_cur is select ...
- yii2判断数据库字段is null
$query = new Query; $query->select('ID, City,State,StudentName') ->from('student') ->]) -&g ...
- js 和 jquery 里面几个获取宽高的调查
罗列下 js 和 jquery 里面获取宽高的方法: obj.offsetWidth = $obj.outerWidth() // offsetWidth obj.clientWidth = obj ...
- 非root权限的linux用法添加工作路径
修改~目录的bashrc文件: 1.cd 到~目录. 2.ls -a ,bashrc文件是隐藏的. 3.vim .bashrc;export PATH=$PAHT:要添加的工作路径. 4.source ...
- body-parser小解
body-parser用来解析http请求体,对不同的content-type有不同的处理方式, 首先介绍一下常见的四种Content-Type: 1.application/x-www-form-u ...
- char,uchar,0xff
如果:char test = 0xFF: 此时:test != 0xFF://因为test为char类型,0xFF为int,所以编译器会将test转为int(-1),所以不等于 如果:uchar te ...
- constexpr与指针
一. 常量表达式:是指值不会改变并且在编译过程就能得到的计算结果的表达式. 定义常量表达式变量: constexpr 变量类型 变量名: 例如: constexpr int mf=20://///20 ...
- js实现级联菜单(没有后台)
html代码: <!-- js级联菜单 --> <div id="cascMenu"> <select id="select" o ...
- 十分钟让你明白Objective-C的语法(和Java、C++的对比)
很多想开发iOS,或者正在开发iOS的程序员以前都做过Java或者C++,当第一次看到Objective-C的代码时都会头疼,Objective-C的代码在语法上和Java, C++有着很大的区别,有 ...
- 如何编写 Makefile
1. 目标 依赖 命令 make会比较targets文件和prerequisites文件的修改日期,如果prerequisites文件的日期要比targets文件的日期要新,或者target不存在的 ...