首页 > 其他分享 >Activity介绍(一)

Activity介绍(一)

时间:2024-07-21 17:42:26浏览次数:10  
标签:调用 Activity 用户 介绍 onPause activity 回调

Activity是什么

Activity 类是 Android 应用的关键组件,而 activity 的启动和组合方式是平台应用模型的基本组成部分。与使用 main() 方法启动应用的编程范式不同,Android 系统会通过调用与其生命周期特定阶段对应的特定回调方法,在 Activity 实例中启动代码。

Activity生命周期

当用户浏览、退出和返回到我们的应用时,我们应用中的 Activity 实例会在其生命周期的不同状态间转换。Activity 类提供了许多回调,这些回调会让 activity 知道状态何时发生变化,或者系统正在创建、停止、恢复 activity 或销毁 activity 所在的进程。

在生命周期回调方法中,我们可以声明用户离开和再次进入 Activity 时 Activity 的行为方式。例如,如果我们构建的是流式视频播放器,当用户切换到其他应用时,我们可以暂停视频并终止网络连接。当用户返回时,我们可以重新连接到网络,让用户从同一位置继续播放视频。

每个回调都允许我们执行适合给定状态更改的特定工作。在合适的时间执行正确的作业,并妥善处理转换,这将提升应用的稳健性和性能。例如,良好的生命周期回调实现有助于我们的应用避免以下行为:

  • 当用户在使用应用时接听来电,或切换至另一应用时崩溃。
  • 当用户未主动使用它时,消耗宝贵的系统资源。
  • 当用户离开应用并在稍后返回时,丢失用户的进度。
  • 当屏幕在横向和纵向之间旋转时,崩溃或丢失用户的进度。

为了在 activity 生命周期的各个阶段之间导航过渡,Activity 类提供了六个核心回调:onCreate()、onStart()、onResume()、onPause()、onStop() 和 onDestroy()。当 activity 进入新状态时,系统会调用其中每个回调。

下图是对此范例的直观展示。

onCreate()

我们必须实现此回调,它会在系统创建我们的 activity 时触发。我们的实现应初始化 activity 的基本组件:例如,我们的应用应在此处创建视图并将数据绑定到列表。最重要的是,我们必须在此方法内调用 setContentView(),以定义 activity 界面的布局。

onStart()

当 onCreate() 退出时,activity 会进入“已开始”状态,并且对用户可见。此回调包含 activity 进入前台并进入可交互状态所需的最后准备工作。

onResume()

系统会在 activity 开始与用户互动之前调用此回调。此时,activity 位于 activity 堆栈的顶部,并捕获所有用户输入。应用的大部分核心功能都是在 onResume() 方法中实现的。

onPause() 回调始终在 onResume() 之后调用。

onPause()

当 activity 失去焦点并进入“已暂停”状态时,系统会调用 onPause()。例如,当用户点按“返回”或“最近”按钮时,就会出现此状态。当系统为activity 调用 onPause() 时,从技术上来讲,这意味着activity 仍然部分可见,但大多数情况下,这表明用户正在离开该 activity,并且该 activity 很快就会进入“已停止”或“已恢复”状态。

如果用户希望界面更新,则处于“已暂停”状态的 activity 可以继续更新界面。此类 activity 的示例包括显示导航地图屏幕或播放媒体播放器的 activity。即使此类 activity 失去焦点,用户也会希望其界面继续更新。

不应使用 onPause() 保存应用或用户数据、进行网络调用或执行数据库事务。

onPause() 执行完毕后,下一个回调为 onStop() 或 onResume(),具体取决于 activity 进入“已暂停”状态后发生的情况。

onStop()

当 activity 对用户不再可见时,系统会调用 onStop()。这可能是因为 activity 正在被销毁、新的 activity 正在启动,或者现有 activity 正在进入“已恢复”状态并覆盖了已停止的 activity。 在所有这些情况下,已停止的 activity 将完全不再可见。

系统调用的下一个回调是 onRestart()(如果 activity 重新与用户互动),或 onDestroy()(如果此 activity 完全终止)。

onRestart()

当处于“已停止”状态的 activity 即将重启时,系统会调用此回调。onRestart() 会从 activity 停止时恢复其状态。

此回调后跟 onStart()。

onDestroy()

系统会在销毁 activity 之前调用此回调。

此回调是 activity 接收的最后一个回调。 通常,实现 onDestroy() 可确保在 activity 或包含该 activity 的进程被销毁时释放 activity 的所有资源。

标签:调用,Activity,用户,介绍,onPause,activity,回调
From: https://www.cnblogs.com/AndroidXiaojiang/p/18314724

相关文章

  • 【Linux】一文向您详细介绍 Vim编辑器 显示行号的方法
    【Linux】一文向您详细介绍Vim编辑器显示行号的方法 下滑即可查看博客内容......
  • LMDB数据库介绍
    MDB(LightningMemory-MappedDatabase)是一个高性能的嵌入式键值存储数据库,由SymasCorporation开发,并作为OpenLDAP项目的一部分发布。LMDB被设计为轻量级、快速且可靠,适合在各种应用环境中使用,从服务器端应用到移动设备和嵌入式系统。LMDB的特点:内存映射:LMDB使用内存映射......
  • Android中Activity生命周期详解
    目录一典型情况二异常情况2.1系统配置改变2.2系统资源不足kill掉低优先级activityActivity是四大组件之一,也是接触的最多的,一般来说Activity经常是与用户交互的界面。一典型情况先看下google官网,其实已经很清楚了再来个总结onCreate,正在被创建,一次,可以做......
  • java多线程等待唤醒机制详细介绍
    java多线程等待唤醒机制一.方法介绍方法说明voidwait()线程等待,等待的过程中线程会释放锁,需要被其他线程调用notify方法将其唤醒,重新抢锁执行voidnotify()线程唤醒,一次唤醒一个等待线程;如果有多条线程等待,则随机唤醒一条等待线程voidnotifyAll()唤醒所有等待线......
  • 3、CPU品牌分类介绍(AMD) - 计算机硬件品牌系列文章
    AMD是一家美国半导体跨国公司,‌成立于1969年,‌总部位于美国加利福尼亚州圣克拉拉市。‌AMD致力于开发设计集成电路产品,‌主要产品包括中央处理器(‌CPU)‌、‌图形处理器(‌GPU)‌、‌主板芯片组等,‌为游戏、‌人工智能、‌云计算等领域提供计算解决方案。‌AMD的产品和技术在全球......
  • vue2-常用富文本编辑器使用介绍
    mavon-editor安装命令[email protected]全局配置修改main.js文件,添加如下配置importmavonEditorfrom'mavon-editor'import'mavon-editor/dist/css/index.css'Vue.use(mavonEditor)组件使用不含视频上传功能<el-row><......
  • 深度学习图解,第 1 部分:神经网络如何工作?神经网络的图解和直观介绍
            欢迎来到雲闪世界。神经网络是一种机器学习模型。这只是我计划撰写的关于深度学习的整个系列文章的第一篇。它将重点介绍一个简单的人工神经网络如何学习,并为您提供对神经网络如何逐个神经元构建的深入(哈哈,双关语)理解,这在我们继续构建这些知识时至关重......
  • Python 工程师对 3D 高斯溅射的介绍(第 1 部分)
    从Python工程师的角度理解和编写GaussianSplatting欢迎来到雲闪世界。2023年初,来自法国蔚蓝海岸大学和马克斯普朗克信息研究所的作者发表了一篇题为“用于实时场渲染的3D高斯溅射”的论文。¹该论文展示了实时神经渲染的重大进步,超越了NeRF等先前方法的实用性。²......
  • SpringAOP的简单介绍及入门案例
    文章目录一、AOP介绍二、使用步骤(日志案例)1.创建模块,导入依赖2.创建实体类3.创建业务层接口和实现类4.创建日志类5.配置切面6.创建配置类7.单元测试三、通知类型1.四大通知2.环绕通知四、切点表达式1.execution2.@annotation五、记录日志详情一、AOP介绍AOP(......
  • 帝国CMS网站系统根目录结构介绍
    帝国CMS网站系统根目录结构介绍更新日期:2024-06-2119:41:47来源:网络/系统根目录├d/附件和数据存放目录(data)│├file/附件存放目录│├js/JS调用生成目录│└txt/内容存文本存放目录├e/系统......