2014-04-04 50 views
3

我正在考虑使用robospice库。从文档/示例中我看到请求在后台线程和UI线程中的侦听器中执行。可以在非UI线程中运行Robospice侦听器吗?

我想知道是否有可能通过非UI线程上的robospice运行监听器?

假设我有请求A和B以及听众(可以在robospice上执行)请求B取决于请求A的结果。所以当A完成时,它的监听器执行请求B.这是好的,但如果我想读取用于请求B的文件的一部分,那么这会阻止UI for几毫秒,因为A的监听器在UI线程上执行。

我可以解决这个问题,用于例如HandlerThread,但我不喜欢那么UI会表现为A和B之间的某种代理。

因此,可以在UI线程之外运行robospice侦听器吗?

回答

2

不,这在RoboSpice中是不可能的。

要做到这一点,唯一的方法是创建一个新的SpiceService,并将自定义的RequestProcessor传递给自定义DefaultRequestListenerNotifier

你的用例是什么?

+0

一个典型的例子可能是:1)我需要在后台线程中处理一些数据。 2)我从我的API请求一些东西。 3)我想在从RS传回我的主/ UI线程之前回传数据。是的,我可以将一个完整的RS请求专用于这一项任务,但是当我想仅将RS用于API请求时,会导致代码混乱。 (关注点分离) –

+0

好点。我们会接受公关;) – Snicolas

+0

@Snicolas任何更新?现在可能吗? – vojta

相关问题