1

我正在创建一个 API,它应该在线程中运行。现在我真的不知道我是否应该在我的 API 中集成/提供后台任务。使其成为线程安全的不是问题。

在 Android 中进行线程处理的可能性有很多(IntentServices、本机线程解决方案、AsyncTask 等)。现在我觉得如果我集成一个后台任务,比如说一个AsyncTask,使用该API的开发人员将非常有限地使用它。因为考虑到 fe 方向的变化,开发者应该能够对其做出适当的反应。而如何穿线应该是他的选择,他可以坚持自己的设计。

我应该如何处理以提供最佳的可操作性?提供可以使用或忽略的任务?只是让 API 线程安全,让开发者在他选择的后台任务中实现 API?

我问的另一个原因是 Android/Java 中的大多数 API 不提供后台任务,而是线程安全的。

对此有一般规则吗?

4

1 回答 1

1

在我看来,你所有的 API 操作都必须是同步的,除了重负载操作,比如网络或文件读取,它应该提供一个需要回调的异步方法。您还必须提供需要为 API 异步回调实现的接口。

如果 API 包含等待和轮询用户输入的总线或服务器式方法,则 API 本身不得在主线程上运行。它可能应该构建为服务或异步任务。不要忘记在 Handler 中保留对主线程的引用,以便能够更新 IU。

即使它不是那种类型,我也会在后台线程中构建它并在内部使用 Handler 进行调用。

于 2013-10-03T15:50:24.190 回答