Activity
发布日期:2021-05-17 16:28:20 浏览次数:20 分类:精选文章

本文共 1438 字,大约阅读时间需要 4 分钟。

1. Activity的概念

在 Android 开发中,Activity 是四大组件之一,主要负责与用户交互,是 UI 设计和用户触发操作的核心部件。它有自己的生命周期,能够通过 setContentView 添加各种控件,如按钮、文本框等,作为 Android UI 的主要展示层。

2. Activity 与 View 的区别

Activity 和 View 之间的关系可能会让初学者感到困惑。Activity 是 Android 四大组件中唯一直接与用户交互的组件,相当于应用的视图层。具体来说,Activity 负责控制和管理 View,而实际显示和处理用户事件的则是 View 本身。每个 Activity 中包含一个 Window 对象,Window 包括一个 DecorView(即 FrameLayout),通过 setContentView 方法设置显示的 View,所有 View 都会被加到 DecorView 中。

3. Activity 的生命周期

Activity 的生命周期包括六个关键方法:

  • onCreate():Activity 首次创建时调用,用于初始化设置、创建视图和绑定数据。
  • onStart():Activity 正为用户可见时调用,适合刷新数据。
  • onResume():Activity 开始与用户交互前调用,处于堆栈顶部。
  • onPause():系统准备切换到另一个 Activity 时调用,可用于保存状态和取消不必要的资源消耗。
  • onStop():Activity 不再为用户可见时调用,可能是由于另一个 Activity 覆盖它。
  • onDestroy():Activity 最后准备销毁前调用,适合释放资源。

onRestart() 方法则在 Activity 停止后调用前重新启动时使用。

4. Activity 的状态

Activity 的状态分类答案:

a) Foreground activity:活动处于前景显示状态。

b) Visible activity:活动可见但不在前景。

c) Background activity:活动暂时不在前景,但仍在运行。

d) Empty process:进程没有任何活动存在。

5. 两个 Activity 之间跳转时必然会执行的是哪几个方法?

一般情况下,当从一个 Activity 切换到另一个 Activity 时,原 Activity 会调用:

  • onPause():保存状态,停止不必要的功能。
  • onStop():在某些情况下(如启动透明 Activity)可能不会被调用。
  • 目标 Activity 会调用:
    • onCreate(): Activity 创建时的初始化。
    • onStart(): Activity 开始显示。
    • onResume(): Activity 准备接受用户交互。

6. 如何退出多个 Activity?

当需要退出多个 Activity 时,可以采用以下方法:

  • 抛异常强制退出:通过抛异常使程序报错退出。
  • 记录并关闭:记录所有打开的 Activity 并依次关闭。
  • 发送广播:通过发送特定广播通知所有 Activity 进行退出。
  • 递归退出:通过调用 startActivityForResult 实现递归关闭。
  • 常见实例中,可以通过 BaseActivitvity 统 ONE.Activity Bounty 的方式管理多个 Activity。

    上一篇:Service
    下一篇:Android多线程与双缓冲

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年04月20日 03时57分21秒