深入理解Activity 生命周期
来源:互联网 发布:淘宝申请介入流程 编辑:程序博客网 时间:2024/05/18 01:23
Activity 生命周期是学习Activity的基础,这篇文章就想带大家深入了解这个基础。在Activity的生命周期中,系统会按类似于阶梯金字塔的顺序调用一组核心的生命周期方法。 也就是说,Activity生命周期的每个阶段就是金字塔上的一阶。 当系统创建新Activity实例时,每个回调方法会将Activity状态向顶端移动一阶。 金字塔的顶端是Activity在前台运行并且用户可以与其交互的时间点。
当用户开始离开Activity时,系统会调用其他方法在金字塔中将Activity状态下移,从而销毁Activity。 在有些情况下,Activity将只在金字塔中部分下移并等待(比如,当用户切换到其他应用时),Activity可从该点开始移回顶端(如果用户返回到该Activity),并在用户停止的位置继续。
有Activity会在图 1 所示不同状态之间过渡的几种情况。 但是,这些状态中只有三种可以是静态。 也就是说,Activity只能在三种状态之一下存在很长时间。
继续
在这种状态下,Activity处于前台,且用户可以与其交互。(有时也称为“运行”状态。)
暂停
在这种状态下,Activity被在前台中处于半透明状态或者未覆盖整个屏幕的另一个Activity—部分阻挡。 暂停的Activity不会接收用户输入并且无法执行任何代码。
停止
在这种状态下,Activity被完全隐藏并且对用户不可见;它被视为处于后台。 停止时,Activity实例及其诸如成员变量等所有状态信息将保留,但它无法执行任何代码。
其他状态(“创建”和“开始”)是瞬态,系统会通过调用下一个生命周期回调方法从这些状态快速移到下一个状态。 也就是说,在系统调用 onCreate() 之后,它会快速调用 onStart(),紧接着快速调用 onResume()。
指定启动器所使用的activity
Android在启动的时候,会调用AndroidManifest.xml中定义的主activity作为启动界面,其定义方式如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android";
package="com.xiao.residue.hw">
<application android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
>
<activity android:name=".MainActivity">
<!--定义此activity为启动时候使用的activity-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".anotherActivity"></activity>
</application>
</manifest>
文章来自:晓残的博客
- activity生命周期深入理解
- 深入理解Activity 生命周期
- 深入理解Android Activity生命周期
- Activity生命周期深入理解2
- 深入理解Activity的生命周期
- activity的生命周期深入理解
- 深入理解Activity的生命周期
- 深入理解Activity的生命周期
- 深入理解Activity的生命周期
- 深入理解Activity的生命周期
- 深入理解Activity生命周期(一)
- 深入理解 Android Activity的生命周期
- 深入理解 Android Activity的生命周期
- 深入理解 Android Activity的生命周期
- Android Activity完整的生命周期深入理解
- 深入理解Activity生命周期的回调
- Activity生命周期及启动模式深入理解
- 深入理解Activity生命周期的回调
- 【题&结论(递归标连通块)】【搜索(IDA*)】NKOJ 2440 数字消除游戏
- 基础知识
- sqlserver 审核
- Netty 处理简单HTTP请求的例子
- 字符串+哈希表+小动态规划(Longest Substring Without Repeating Characters -- LeetCode)
- 深入理解Activity 生命周期
- 进驻CSDN
- csdn待改进点之37------>明明只有1条私信, 为啥显示这么多?
- 来感受一下我小时候写的宛如巨兽的游戏
- 廖雪峰JavaScript教程
- EL表达式总结
- String、StringBuffer、StringBuilder的区别
- c++排序函数详解
- js实现实时日历面板的个人创作(初级新人小作,请大师指教)