当创建 Android 线程的 Activity 被销毁后,它会发生什么?

2024-06-08

在我的 Android 应用程序中,主 Activity 有时会启动一个线程来从服务器加载数据。该线程修改应用程序的数据库并编辑一些重要文件。 AFAIK,看来该线程继续执行。如果 Android 进入内存不足的情况并决定终止整个应用程序,该线程会发生什么情况?是否会出现该线程过早死亡的情况?如果是这样,我有什么办法可以看到线程被杀死,并采取措施吗?

我这样问是因为这个线程修改了数据库中的重要数据,如果它突然被终止,应用程序可能会停止正常运行。


AFAIK,看来该线程继续执行。

这是事实,但您无法保证线程将保持活动状态多长时间。

如果 Android 进入内存不足的情况并决定终止整个应用程序,该线程会发生什么情况?

根据我的经验,这实际上是相当罕见的情况,但这取决于设备的可用内存和用户的行为,例如他们大量使用设备并启动多个应用程序。

是否会出现该线程过早死亡的情况?

Yes

如果是这样,我有什么办法可以看到线程被杀死,并采取措施吗?

No

我这样问是因为这个线程修改了数据库中的重要数据,如果它突然被终止,应用程序可能会停止正常运行。

您所描述的内容可以归类为“关键任务”。正如其他两个答案所指出的,服务将是一种更稳健的做事方式,因为服务是在内存不足的情况下最后被“杀死”的事情之一。使用 START_REDELIVER_INTENT 可能有助于恢复它正在执行的操作。

无论如何,如果您有“关键任务”操作,则需要设计完全恢复的代码,例如事务的使用以及出现错误时回滚的可能性。

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

当创建 Android 线程的 Activity 被销毁后,它会发生什么? 的相关文章

  • 获取 Spring Boot 中当前活动数据源的引用

    我想通过实现数据库数据初始化DataSourceInitializer 我将这些方法放在我的 Spring Boot 主方法下面 但似乎它根本没有被执行 我尝试故意删除字符只是为了触发一个错误来确认执行 什么也没有发生 Configurat
  • SQLite CursorWindow 限制 - 如何避免崩溃

    我必须执行查询并将结果存储在列表中 我使用的函数如下 List
  • Apache HTTPClient SSLPeerUnverifiedException

    使用 Apache HttpClient 4 2 1 使用从基于表单的登录示例复制的代码 http hc apache org httpcomponents client ga examples html http hc apache or
  • 使用 ExoPlayer 播放 YouTube 视频 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有兴趣使用外放播放器 http developer android com guide topics
  • java应用程序,线程在终止MySQL连接后挂起

    我有一些工作线程正在运行 其中包括 MySQL 和 mysql connector java 5 1 20 当我杀死一些 SQL 语句 使用 mysql 客户端的kill 连接id 时 java线程挂起 这应该抛出一些异常 jstack 打
  • 如何在 Android (Xamarin) 中以编程方式从当前主题获取颜色

    我需要以编程方式获取一些默认主题颜色值 例如 windowBackground colorPrimary 我正在执行活动中的代码 我的目标安卓API 为 21 我正在使用一个Theme Material theme 我试过了 var att
  • 适用于标准类兼容 USB 设备的 Android USB 主机模式“软模式”驱动程序

    现在既然Android API 支持直接使用 USB 设备 http developer android com guide topics connectivity usb host html 自 3 1 起 我很好奇是否有任何工作可以为一
  • 如何在 Rails for Android 中使用 gzip 压缩 JSON?

    我正在运行 Rails 3 2 7 和 Ruby 1 9 3p194 以从 SQLite 数据库输出 JSON 数据 render json gt result to json Android 应用程序使用通过以下方式加载的 JSON 文件
  • Selenium 和 xpath:查找带有类/id 的 div 并验证其中的文本

    我正在努力拥有xpath find a div并验证div有一个特定的string里面的文字 这是HTML div class Caption Model saved div and div class gwt HTML sfnStanda
  • 持续运行的 C# 代码 - 服务还是单独的线程?

    我有一个 NET 4 Web 应用程序 它有 3 个关联的独立项目 DAL BAL 和 UI 我正在使用实体框架进行数据库交互 我有代码循环遍历一堆数据库数据 根据找到的内容调用方法 然后更新数据库 我希望这段代码一直运行 同时 我希望用户
  • RecyclerView:调整项目大小的动画

    我有一个RecyclerView 回收者视图的每个项目都可以展开或不展开 同一时间只能展开一项 本质上 我试图在棒棒糖拨号器中重新创建历史列表 我发现在 RecyclerView 上使用 LayoutTransition https sta
  • Java Reflection:为什么这么慢?

    我一直避免使用 Java 反射 因为它速度缓慢 我在当前项目的设计中达到了一个点 能够使用它将使我的代码更具可读性和优雅性 所以我决定尝试一下 我只是对这种差异感到惊讶 我注意到有时运行时间几乎延长了 100 倍 即使在这个简单的例子中 它
  • StringBuilder - 重置或创建新的

    我有一个条件 StringBuilder 不断存储与大型平面文件 数百 MB 中的模式匹配的行 但是 在达到条件后 我将 StringBuilder 变量的内容写入文本文件 现在我想知道是否应该通过重置对象来使用相同的变量 gt strin
  • 让 DrawerLayout 在 ActionBar 上滑动

    我在活动中有一个滑动抽屉菜单 其中有一个带有一些选项卡的操作栏 我想让滑动抽屉滑过标签 而不是滑过标签下方 这就是现在的样子 关于如何做到这一点有什么想法吗 注意 我知道我可能会在这里打破一些约定和 UI 模式 如果它根本不起作用 我会考虑
  • 从java类文件获取apache webcontents文件夹的绝对路径[重复]

    这个问题在这里已经有答案了 需要在动态 Web 应用程序内获取 java 类文件中的绝对路径 实际上我需要获取 apache webapps 文件夹的路径 部署 webapps 的位置 e g apache root webapps my
  • 将文本文件写入 SD 卡失败

    我遇到了一个奇怪的问题 我的应用程序可以将一个简单的文本文件写入 SD 卡 有时它对某些人有效 但对其他人无效 我不知道为什么 对于某些人来说 如果他们输入一些字符 例如 在文件等中 我似乎无法重现它 因为我没有遇到任何麻烦 但这是处理文件
  • 解决SecurityException:权限拒绝:启动意图。我需要什么许可?

    我想从应用程序打开游戏商店 在三星手机上还好 但在一加手机上却失败了 我不知道在哪里alibaba来自 真奇怪 异常 java lang SecurityException 权限拒绝 启动意图 act android intent acti
  • DDMS 未显示来自设备的线程

    我想使用以下命令检查我的 Android 应用程序中是否存在内存泄漏DDMS特色于Eclipse 当我启动模拟设备时 线程会正确显示模拟设备 从 8600 及更高版本开始 然而 当我将 Droid 连接到 PC 时 该设备在 DDMS 中显
  • 从 Java 程序中获取局部变量的名称和类型

    这是我正在尝试的代码 JavaCompiler compilerA ToolProvider getSystemJavaCompiler int resultA compilerA run null null null Users a Do
  • 如何将 Three.js 代码实施到 Android 移动应用程序中?

    我用 HTML CSS 和 JS 编写了 Three js 场景的代码 显示 3D 头部模型及其上的标记 它适用于我的 Angular 项目 我还可以通过将 HTML 代码添加到 Web 视图中 使其在适用于 Android 和 iOS 的

随机推荐

  • 通过脚本删除工作表

    我正在执行此代码 function deleteSheets var ss SpreadsheetApp getActiveSpreadsheet var sheets ss getSheets var transp ss getSheet
  • 如何确定命名空间位于哪个程序集中?

    The MSDN documentation doesn t generally specify the assembly a namespace is in so there s no easy way to add the necess
  • 使用 ASP.NET MVC 将文件上传到数据库

    我想在我的表单上提供一个功能 供用户上传文件并保存在数据库中 在 ASP NET MVC 中这是如何完成的 在我的模型类中编写什么数据类型 我尝试过Byte 但在脚手架期间 解决方案无法在相应的视图中为其生成适当的 HTML 这些案件如何处
  • 错误!在 strings.xml 资源 Android 中使用 CDATA

    我的 Android 项目中有一个字符串资源 并且我使用 CDATA 部分将字符串嵌入到 XML 中
  • 构建协同过滤/推荐系统

    我正在设计一个网站 该网站的概念是根据用户的口味向他们推荐各种商品 即他们评价过的项目 添加到收藏夹列表中的项目等 亚马逊 Movielens 和 Netflix 就是这样的例子 现在 我的问题是 我不知道从哪里开始了解这个系统的数学部分
  • Java构造函数设计

    我正在阅读一个开源代码 其中有一个构造函数是这样设计的 public class FeatureSequence2FeatureVector extends Pipe implements Serializable boolean bina
  • 蓝牙 BLE 的 UUID 和 MAC 地址

    我必须承认我是 BLE 4 0 的新手 我想了解 BLE 外设的唯一标识符由什么组成 一般来说 对于所有 WiFi 通信 MAC 被视为设备的唯一 ID 我有以下问题 UUID有什么用 不同的 BLE 外设是否应该有不同的 UUID BLE
  • 双击定时器事件

    我正在开发一个应用程序 将用户的眼球运动与光标运动映射起来 从而开发一个免提光标控制系统 我正在使用 Open CV 库的 NET Wrapper for C 即 Emgu CV 进行开发 我被困在想要打开文件 文件夹的地方 这样当光标放在
  • “after_filter”如何/何时工作/运行?

    我正在使用 Ruby on Rails 3 1 我想知道 对于表现原因 无论是否after filter渲染视图文件后运行 也就是说 当用户访问我的应用程序 URL 时 他 她应该显示的相关视图文件先于渲染after filter运行或af
  • 将 Meteor.js 中的模块与 Typescript 一起使用

    各位 我正在尝试做一些我认为应该很简单的事情 但我一定做错了 我试图在使用 Typescript 的流星应用程序中简单地拥有一个清晰的结构 这是我的要求 所有接口在客户端和服务器端均可用 有些类的实现只能在服务器上使用 我不想依赖文件加载顺
  • 是否可以直接从 API Gateway 查询 Amazon RDS 实例?

    我是 API Gateway 的新手 据我所知 它是一个非常强大的工具 对于我现在正在工作的项目 我们在 RDS 中使用 PostgreSQL 实例 我已经看到可以从 API Gateway 直接访问 DynamoDB 表 所以我想知道是否
  • 从视频/图像中提取元数据

    我从 IP 摄像机获取 MJPEG 流 我正在查看该流并将其保存在计算机上 可以找到我的操作代码here https stackoverflow com questions 21702477 how to parse mjpeg http
  • Windows 身份验证到底如何工作? web.config 似乎不够

    正在尝试修复 Windows 身份验证 目标 Windows 身份验证 使用 Firefox 时 应出现登录对话框 而使用 Internet Explorer 时 Windows 用户名和密码应自动转到 Web 服务器 我使用空模板建立了一
  • 使用 pandas/python 基于优先级的分类

    我在下面的数据框和代码列表中包含发票相关数据 df pd DataFrame invoice 1 1 2 2 2 3 3 3 4 4 4 5 5 6 6 6 7 code 101 104 105 101 106 106 104 101 10
  • 当我的 Android 应用程序位于前台时,我想隐藏其他应用程序的所有通知。这可能吗?如何?

    我正在创建一个教育应用程序 学生可以在其中参加 5 分钟的快速考试 大多数时候他们使用父母的手机 现在我想要的是 当学生参加考试时 任何其他应用程序 例如 WhatsApp FB 或 Gmail 不应发出任何通知 这可能吗 如何 一种可能的
  • 节点检查器 repl 的控制台选项卡中未定义“require”

    我尝试过了 require fs writeFileSync o json JSON stringify anObject 用于调试 我得到了RefrenceError require is not defined 这很奇怪 没有的话是什么
  • NSURLConnection 完成时出现错误 - 代码 -1002 修复不起作用

    我收到此错误 NSURLConnection 已完成 错误代码 1002 我已将下面的代码添加到我的 info plist 中 有谁知道为什么 提前致谢
  • PHP 类中的命名空间和全局变量问题

    我陷入了这种困惑 我不明白为什么我的 HelperClass 下的全局 error 返回空 我可以验证 class gt error 确实之前已填充了数据 在这种情况下 命名空间是否存在某种我不知道的问题 请给我一些指点 以下是一些相关的代
  • 如何使用“Linq to Objects”将一组连续的日期放入一个组中?

    我有一个麻烦的查询要写 我目前正在编写一些令人讨厌的 for 循环来解决这个问题 但我很想知道 Linq 是否可以为我做到这一点 I have struct TheStruct public DateTime date get set ti
  • 当创建 Android 线程的 Activity 被销毁后,它会发生什么?

    在我的 Android 应用程序中 主 Activity 有时会启动一个线程来从服务器加载数据 该线程修改应用程序的数据库并编辑一些重要文件 AFAIK 看来该线程继续执行 如果 Android 进入内存不足的情况并决定终止整个应用程序 该