【发布时间】:2016-12-07 19:47:24
【问题描述】:
我正在寻找一个库,它可以简化执行异步操作(网络请求、大量数据解析等),并且它的回调将在正确的时间被调用,而无需我解决它。
我举几个例子:
- 片段事务 - 如果我想在异步任务完成时执行片段事务,那么我需要确保活动处于“恢复后”状态,否则我会得到臭名昭著的 IllegalStateException .这意味着两件事:首先在异步任务回调中,我需要检查活动是否恢复后。其次,如果不是恢复后,那么我需要在活动上设置一个成员变量,一旦调用 onPostResume 或 onResumeFragments,我将执行片段事务。
- Loaders - 当使用加载器时,在其 onLoadFinished 方法中我仍然遇到与 (1) 相同的问题,但我还需要在 Handler 中执行片段事务,否则我会得到另一个 IllegalStateException,表明在 onLoadFinished 方法中无法完成片段事务。
基本上,结果是当前需要做很多变通方法,以确保在异步回调中执行任何操作之前,Android 生命周期处于“正确”状态。即使这意味着这个库需要延迟回调调用,直到活动恢复。
我正在寻找的是一个库,它将确保在调用异步回调时,相应的活动已经处于正确的状态,我不需要做任何手动检查,可以继续片段交易或其他我想做的事情。
不用说,它应该正确考虑轮换期间触发的生命周期事件。
你们知道有什么图书馆可以做到这一点吗?
谢谢:)
【问题讨论】:
-
要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。
-
为什么“对”是粗体的?
-
我在这里提供了 Android 开发人员面临的一个真正具体的问题,并在这里提供了我迄今为止尝试过的内容(参见 (1) 和 (2)),我得到了 -4 ?严重地?我不得不说,它并不能真正促进一种感觉良好/安全的提问环境,这是 StackOverflow 所代表的基础。我用单词解决方案替换单词库有关系吗?
-
删除了“正确”单词的粗体。
标签: android android-fragments asynchronous android-lifecycle