Activity.finish() 方法到底在做什么?

2024-01-05

我正在开发 Android 应用程序一段时间,并关注了很多有关 Activity 生命周期和应用程序生命周期的帖子。

I know Activity.finish()方法在某处调用Activity.onDestroy(),并且还从堆栈中删除活动,我想它以某种方式指向操作系统和垃圾收集器,他可以“发挥他的伎俩”并在发现这样做的好时机时释放内存......

我来到这个帖子 -退出应用程序会让人皱眉吗? https://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon/2034238并阅读马克·墨菲的回答。

这让我有点困惑到底是什么finish()方法实际上确实如此。

有机会我会打电话吗finish() and onDestroy()不会被叫吗?


打电话时finish()就一项活动而言,方法onDestroy()被执行。该方法可以执行以下操作:

  1. 关闭该活动正在管理的任何对话框。
  2. 关闭该活动正在管理的所有游标。
  3. 关闭所有打开的搜索对话框

Also, onDestroy()不是析构函数。它实际上并没有破坏该对象。它只是根据某种状态调用的方法。所以你的实例在超类之后仍然存在并且运行得很好*onDestroy()运行并返回。Android 会保留进程,以防用户想要重新启动应用程序,这使得启动阶段更快。该进程不会做任何事情,如果需要回收内存,该进程将被杀死

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Activity.finish() 方法到底在做什么? 的相关文章

  • 在应用程序简历中隐藏软键盘

    我有一个 Android 应用程序 使用 Xamarin 用 C 编写 我已将应用程序简化为包含 TextView 和用于横幅广告的 Google admod AdView 的 LinearLayout 我不希望软键盘出现在应用程序中 这不
  • 使用 Android 前台服务为 MediaPlayer 创建通知

    问题就在这里 我目前正在开发一个应用程序 该应用程序必须提供 A 广播播放器 来自 URL 的 AAC 直播 还有一个播客播放器 来自 URL 的 MP3 流 该应用程序必须能够在后台运行 Android 服务 并通过以下方式向用户公开持续
  • Android第一次动画不流畅

    我正在尝试一个动画将 imageView 从屏幕底部滑动到屏幕中心 但是当我第一次执行此动画时 它不平滑 但当第二次执行动画时 它是正常且平滑的 我几乎尝试了所有方法 但无法解决我的问题 这是我的动画文件
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • Android:“dp”到“px”转换?

    我正在读这篇文章 http developer android com guide practices screens support html http developer android com guide practices scre
  • 如果我们使用后退按钮退出,为什么 Android 应用程序会重新启动?

    按住主页按钮并返回应用程序时 应用程序不会重新启动 为什么使用后退按钮会重新启动 如果我们使用后退按钮退出 有什么方法可以解决在不重新启动的情况下获取应用程序的问题吗 请帮忙 当您按下Home按钮 应用程序将暂停并保存当前状态 最后应用程序
  • 在 Google Analytics 中跟踪应用程序版本

    我正在使用谷歌分析模块 https marketplace appcelerator com apps 5081 2014113336 https marketplace appcelerator com apps 5081 2014113
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • 在 Android 中使用 DataOutputStream 在 POST 正文中发送特殊字符 (ë ä ï)

    我目前正在开发一个具有大量服务器端通信的 Android 应用程序 昨天 我收到一份错误报告 称用户无法发送 简单 特殊字符 例如 我搜索过但没有找到任何有用的东西 可能重复 没有答案 https stackoverflow com que
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • 如何在 sqlite 中将 2 列合并为新列

    我有一个包含 3 列的表 我必须将 2 列中的值按降序排列到一列中 A B C z 1 2 f 5 7 s 9 5 使用此示例 输出会将 B 列和 C 列中的值放入其中 如下所示 A B s 9 f 7 f 5 s 5 z 2 z 1 我当
  • 从 Firebase 数据库填充微调器

    public class MainActivity extends AppCompatActivity DatabaseReference reference Spinner areaSpinner ArrayList
  • Android 版 Robotium - solo.searchText () 不起作用

    我在使用 Robotium 时遇到 searchText 函数问题 我正在寻找这个字符串
  • 如何在不更改手机语言的情况下更改Android应用程序语言?

    我希望用户在应用程序内选择一种语言 选择语言后 我希望字符串使用特定语言 如果我更改手机语言 那么我的应用程序将以设置的语言运行 我无法找到任何在不更改手机语言的情况下设置语言的方法 此外 一旦设置了语言 更改就应该反映出来 有人可以建议一
  • 通过 ADB 拔出设备:“找不到服务”

    我必须测试我的应用程序在打瞌睡模式下的行为 根据文档 https developer android com training monitoring device state doze standby html testing doze 我
  • SharedFlow 和 StateFlow 的主要区别

    两者有什么区别共享流 and 状态流 以及如何使用这些MVI建筑学 使用简单更好吗Flow或者这些作为状态和事件 Flow 是冷的 意味着它仅在收集数据时才发出数据 另外Flow不能保存数据 可以把它看成是水在里面流动的管道 Flow中的数
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja

随机推荐

  • 在Windows服务器中使用Word对象

    我有 asp net 应用程序 它有时会获取 Word 文档 编辑其中的一些数据并将其发送到电子邮件 虽然这在我有 microsoft word 的本地计算机上运行良好 但当我尝试在没有安装 microsoft word 的 Windows
  • 如何在 Java 中将 YAML 转换为 JSON?

    我只想使用 Java 将一个包含 yaml 的字符串转换为另一个包含相应转换后的 json 的字符串 例如假设我有这个yaml的内容 paper uuid 8a8cbf60 e067 11e3 8b68 0800200c9a66 name
  • Undertow上传多部分文件超过设置值时抛出RuntimeException

    我正在运行完整版本的 Spring boot 上传文件指南春季指南 https spring io guides gs uploading files 但我使用 Undertow 作为嵌入式 servlet 而不是默认的 Tomcat 它奏
  • 如何在php中创建html表格

    我有以下代码片段 基本上使用爆炸来拆分这些值 数据 prod txt PREFIX abc PART null FILE myprojects school out data feed abc 2010120810 gz2 PREFIX e
  • 在 O(n) 时间和 O(1) 额外空间内找到最大重复数

    在 O n 时间和 O 1 额外空间内找到最大重复数 出现次数最多的数 我认为我可以使用维护计数数组的计数排序阶段 然后可以在 O N 中完成 我对吗 但如何处理多余的空间 还有其他高效的算法吗 如果没有进一步了解数组中可能的数字 我认为这
  • 获取当前.net TransactionScope IsolationLevel

    我有一个实用程序方法在我的应用程序中创建 TransactionScope 我想做一个单元测试来验证返回的 TransactionScope 是否具有正确的 IsolationLevel 设置 以确保没有人可以在不破坏测试的情况下修改代码
  • MySQL 中的空 IN 子句参数列表

    当您执行 SQL 查询时会发生什么IN条款为空 例如 SELECT user WHERE id IN MySQL 是否会按预期处理此问题 即始终为 false 如果没有 我的应用程序在构建时如何处理这种情况IN动态条款 如果我有一个正在构建
  • 如何从查看源代码中隐藏 WordPress 详细信息

    我有一个 WordPress 网站 但是当我按 Ctrl U 时 我可以看到有关我的网站的所有网站信息 主题 wp 内容等 但我看到一个网站http www indiavisiontv com http www indiavisiontv
  • 如何使用 AtomicBoolean 进行阻塞和等待

    我正在寻找一种暂停线程的方法 我首先有效地使用布尔标志 称为 暂停 并用 while 循环包装检查 暂停 在 while 循环内有一个Thread wait 来阻止执行 我一直在看原子布尔值 除了不阻塞之外 这似乎可以解决问题 是否有具有块
  • 使用servlet显示网页中的文件列表

    我是 Java EE 新手 我想在网页中显示 PDF 缩略图列表 这些 PDF 存储在一个文件夹中src main webapp pdf 我想读取此文件夹以获取所有文件名 这是我的代码 Override public void doGet
  • PHP 客户端无法连接到本地主机上的 RabbitMQ 服务器

    OS CentOS 6 4我正在尝试使用 php 客户端连接到 RabbitMQ 服务器 如下所示 connection new AMQPConnection 10 1 150 109 5672 guest guest channel co
  • Homebrew 在 m1 Mac 上安装了错误的 minikube (amd64) 而不是“arm64”

    自制 brew install minikube 正在使用 M1 在 Macbook Air 上安装 amd64 minikube 运行任何 minikube 命令时 它会打印以下消息 You are trying to run the a
  • 编写一个通用的遍历函数,可以灵活地处理具有不同参数的多个函数

    我想使用 std function 来帮助我运行一个通用遍历函数 该函数遍历 BST 并调用参数化函数 我的困难是参数化函数的参数各不相同 因此 例如 我要概括以下三个函数 参数均不同 populates an array with the
  • iOS8接口旋转方法未调用

    Since willAnimateRotationToInterfaceOrientation duration is 已弃用 https developer apple com library ios documentation UIKi
  • vscode从子目录激活主目录中的虚拟环境

    我正在 vscode 中使用 ssh 远程连接到服务器 在我的主目录中 我有两个 文件夹 py3其中一个虚拟环境和project1 当我连接到主目录时 我可以激活py3没有什么问题 但是当我直接连接到project1文件夹 我看不到py3在
  • 我应该排除 .gitignore 中的 Aurelia 脚本文件夹吗?

    我是否应该将 Aurelia 项目的 scripts 文件夹放入 gitignore 中 因为据我所知 它们无论如何都会在每次运行时重建 我的 gitignore 当前包含 node modules jspm packages idea D
  • Soundcloud 重定向 Https -> Http

    我有一个使用 SoundCloud js sdk 来传输音频的页面 初始化看起来像这样 SC initialize client id myId redirect uri https window location host soundcl
  • MVC3 网站内的作业调度程序

    我正在寻找一些指导 以获取在我的 MVC3 网站内部使用的作业计划程序设置 我一直在寻找 Quartz NET 来解决这个问题 但在网上找不到有关设置的指导 以确保它在网站运行时运行 考虑到上述信息 我知道在 IIS 中设置作业调度程序有几
  • 如何在 Google 计算引擎实例上安装自定义内核?

    我想在 Google Compute Engine 实例上安装自定义内核映像 我有一个运行的实例 foo instance 1 boot efi uname a Linux instance 1 4 10 0 22 generic 24 U
  • Activity.finish() 方法到底在做什么?

    我正在开发 Android 应用程序一段时间 并关注了很多有关 Activity 生命周期和应用程序生命周期的帖子 I know Activity finish 方法在某处调用Activity onDestroy 并且还从堆栈中删除活动 我