活动暂停时是否可以更新视图?

soc*_*qwe 10 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设备上测试我的示例应用程序.

ada*_*amp 15

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

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

除非活动实际被销毁(当然只要你的过程没有被杀死),它的窗口和视图的记录就会被破坏.如果窗口仍然可见,即使活动暂停,也可以看到对其中视图的更新.