可运行物品和活动

时间:2019-01-02 09:22:19

标签: java android multithreading

我目前有以下问题:

我有一个通过Google Protobuf提供API的服务器。程序(在本例中为Android App)可以请求信息。我在Android中有一个Activity,它将通过Runnable在后​​台请求信息,然后它将处理网络请求并调度到主线程上的函数,以使用新信息更新UI。因此,我给可运行对象final interface提供了由Activity实现的调度功能。现在,由于网络事务在后台发生,并且UI不应阻塞(例如,使用“加载微调器”),我不知道当用户在Runnable仍处于活动状态时切换到另一个Activity时会发生什么。即使有另一个Activity处于活动状态,它是否仍然可以正确调度?有什么好的设计实践可以解决这个问题。

我当然想过将变量添加到Runnable中以将其标记为dont dispatch,但是仍然可能存在竞争条件(当用户按下“后退”按钮时,它将被分派。在将Runnable标记为已终止之前,在主线程的队列中具有分派的函数。

如果您需要任何其他信息,请询问,我们很乐意为您提供这些信息。

0 个答案:

没有答案