我的应用程序状态除了扫描wifi(实际上是wifiP2pManager.discoverPeers)之外什么都不做。在那种状态下,它应该使用最少的能量,但对广播意图反应很快。
1)我是否正确,在以编程方式注册之前创建接收器对象并保持加载直到未注册,只要应用程序的进程没有被杀死?
2)如果没有可能会损害功耗的唤醒锁,我怎样才能防止这个过程被杀?
3)在wifi扫描时,即在获取WifiLock时,CPU是否可以停止?
4)如果一个进程被杀死,WifiLock怎么能被保留 - > 2?
5)我可以注册一个BroadcastReceiver类,即使应用程序的进程被杀死,它也会在有意图处理时创建吗?
希望这是可以理解的。也许以下大纲有点帮助:
Boot or app start
loop
initiate wifi scan
loop
sleep (stop CPU and release memory if possible)
process scan event (potentially calling services and activities)
until scan complete
forever
目前我觉得我需要一个与接收器并行的服务来保持接收器的参考并保持这个服务一直运行,但至少没有唤醒锁。这是正确的吗?或者有更好的方法吗?
由于