Android 笔记 02 篇:Activity 篇

摘自:《android 第一行代码》

Activity 定义

  • Activity 是 Android 四大组件之一。
  • Activity 是一种包含用户界面的组件,主要用于和用户进行交互。

Android 中的 Activity 管理机制

        Android 中使用任务管理活动,一个任务就是一组存放在栈中的活动的集合,这个栈被称为返回栈,满足 LIFO 原则。

        在默认情况下,每当我们启动一个新的活动,它会在返回栈中入栈并处于栈顶的位置。而每当我们按下 back 或者 finish() 方法销毁一个活动时,处于栈顶的活动会出栈,这是前一个入栈的活动就会重新处于栈顶的位置。

        系统总是会显示处于栈顶的活动给用户。

Android 返回栈

Activity 生命周期

Activity 一个完整的生命周期会有以下状态

  • 运行状态:当一个活动位于返回栈栈顶时,这个活动就处于运行状态。
  • 暂停状态:当一个活动不处于栈顶,但仍然可见时,这个活动处于暂停状态。
  • 停止状态:当一个活动不处于栈顶,并且完全不可见时,这个活动处于停止状态。
  • 销毁状态:当一个活动从返回栈移除后,这个活动处于销毁状态。

Activity 一个完整的生命周期内会调用的函数有

  • onCreate():在活动第一次创建时被调用。用于加载布局,绑定事件。
  • onStart():在活动由不可见变为可见时调用。
  • onResume():在活动准备好和用户进行交互的时候调用。此时活动一定处于返回栈的栈顶,并且处于运行状态。
  • onPause():在系统准备去启动或者恢复另一个活动时调用。
  • onStop():在活动完全不可见的时候调用。
  • onDestroy():在活动被销毁之前调用。
  • onRestart():在活动由停止状态变为运行状态之前调用。

正常的生命周期

Activity 启动模式

  • standard:活动的默认启动模式。在 Standard 模式下,每当启动一个新的活动,它就会在返回栈中入栈,并处于栈顶的位置。对于使用 Standard 模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动的一个新的实例。
  • singleTop 模式:当活动的启动模式指定为 singleTop,在启动活动时如果发现返回栈的栈顶已经时该活动,则认为可以直接使用它,不会重新创建新的活动实例。在使用 singleTop 功能时需要在 AndroidManifest.xml 文件中添加如下设置:
<activity
    android:name=".sample_activity"
    android:launchMode="singleTop">
</activity>
  • singleTask 模式:当活动的模式指定为 singleTask,每次启动该活动时,系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的实例。在使用 singleTop 功能时需要在 AndroidManifest.xml 文件中添加如下设置:
<activity
    android:name=".sample_activity"
    android:launchMode="singleTask">
</activity>
  • singleInstance 模式:singleInstance 模式常用于需要与其他应用共享活动实例的场合。当活动指定为 singleInstance,系统会启用一个新的返回栈管理这个活动。
<activity
    android:name=".sample_activity"
    android:launchMode="singleInstance ">
</activity>

发布了3 篇原创文章 · 获赞 2 · 访问量 8625

猜你喜欢

转载自blog.csdn.net/zhrjyl/article/details/104308777