我们假设我们有一个Android应用程序,它包含一个MainActivity,还有一个绑定意图服务(或者在MainActivity暂停时继续运行的任何其他后台服务)。
假设我们有一些属于MainActivity,MainAcitivity.variable1和MainActivity.variable2的变量。
在MainActivity暂停时,从后台服务更新这些变量是否安全/正常?我知道它没有错误,但我觉得很有可能与一个睡着的类/线程交互。"如果在Main暂停时发送多个更新,那么它们是否都会在Main恢复时处理的缓冲区中结束?或者更新是否立即发生?
这些问题涉及哪些技术主题?
三江源!!
答案 0 :(得分:1)
你不应该习惯这个。只是因为当应用关闭时,您的Service
将无法看到您的Activity
变量。
一个非常好的解决方案是缓存Service
在本地存储中所做的更改,并使用BroadcastReciever
更新Activity
(如果它正在运行)。除此之外,Activity
应该使用onResume()
方法从存储中获取数据并相应地更新UI。