活动暂停时我可以更新视图吗?

时间:2013-09-09 22:37:23

标签: android android-activity

我可以在活动暂停时更新UI /视图(例如更改文本视图文本),例如,因为已启动其他活动吗?

通过将活动与事件总线连接起来,我已经实现了一个像这样做的小测试应用程序。

活动A有一个TextView。活动A将自身注册到onCreate()中的EventBus,并在onDestroy()中取消注册。活动A启动活动B.活动B执行一些更改并触发ChangedEvent。活动A将接收此ChangedEvent,因为即使活动A已暂停,它仍会注册,并将更新活动A的TextView(更改文本)。

一切正常。我已经在各种Android版本(2.3.3到4.3)上的各种nexus设备和仿真器上进行了测试。没有异常或意外行为。

所以可以肯定地说,我可以构建一个带有活动的应用程序,在活动暂停时更新他的视图吗? 这取决于制造商等吗?我只能在股票Android设备上测试我的示例应用程序。

1 个答案:

答案 0 :(得分:14)

是的,你可以指望这项工作。

视图实际上并不关心拥有其窗口的Activity的生命周期。 (您可以将其他视图直接添加到Activity的生命周期之外的WindowManager中。)

除非活动实际被销毁(当然只要您的流程没有被杀死),否则其窗口和视图的记录会一直存在。如果窗口仍然可见,即使活动暂停,也可以看到对其中视图的更新。