【发布时间】:2025-12-13 00:45:01
【问题描述】:
我正在寻找最合适的类来作为从我的活动调用的 AsyncTasks 的调度程序。
我认为可能是以下之一:
- 应用程序的子类;
- 服务的子类;
- 我自己的静态东西。
至于我 - 实施第三个选择更简单。但问题是它会比服务或应用程序更“抗死”吗?此外,什么会活得更久也很有趣——应用程序还是服务?我的猜测是,只要应用程序(Android 中的任务)进程存在,应用程序就会存在。
所以基本上我需要根据它们的“抗死亡”质量来划分这些选项,因为我想依赖最“静态”的东西。
更新:
这个问题最初是在 2010 提出的,当时 (1) Android 是开发人员的新平台,(2) Google 文档对应用组件的生命周期过于含糊(在某些情况下甚至具有误导性) -cycles 和整个应用进程的生命周期。
【问题讨论】:
-
我立即从手机中删除了坚持“死亡证明”的应用程序。
-
您可能想更清楚地解释您想要实现的目标。现在听起来你正在试图让你的应用程序无法关闭,这是你将很难获得建议的事情。
-
不推荐使用,会损害用户体验和电池寿命
-
感谢你们的 cmets!我可能应该更清楚地解释我想要实现的目标。这样,Activity就可以启动AsyncTask了。例如,AsyncTask 发布 http 请求以注册新用户。由于 Activity 是一个可被操作系统杀死的组件(如果手机应用程序跳起来可能会被杀死),AsyncTask 可能无法将请求结果传递回 Activity。因此,在恢复时,Activity 将不得不重新运行 AsyncTask,但我不想再次重新发送相同的凭据并用“此类用户名已在使用”来提醒用户。
-
这就是为什么我需要一种机制来存储 AsyncTask 结果,所以当 Activity 恢复自身时,它可能会要求等待结果。
标签: android android-asynctask android-service android-lifecycle