我遇到了一个非常奇怪的错误,即与应用程序进行交互(触摸或滚动)时,我的应用程序中的所有活动都将关闭。
我尝试在onActivityStopped()
和onStop()
回调上设置断点,但确实会调用它们,但我看不到此过程的开始位置或方式。
日志中没有显示任何内容,使我认为存在某种观念或任何奇怪的事物。
有人知道为什么会发生这种情况以及如何调试它吗?
答案 0 :(得分:0)
我终于弄清楚了这个问题。从onResume()
方法开始位置更新是由于该活动被暂停,然后在位置服务被禁用时恢复了广告无限。
我认为正在发生的事情是:
onResume()
方法请求了位置权限。onPause()
,甚至知道它不再存在,因为我们已经拒绝了它们。onResume()
,循环将持续下去。在某些时候,如果您完全与活动进行交互,由于某些我不完全了解的原因,他们会关闭该活动(以及其他活动)。
我认为TL; DR是:避免从onResume()
开始定位服务。
一些看似相关的问题:Permission Requests causes infinite loop in OnResume和https://github.com/permissions-dispatcher/PermissionsDispatcher/issues/90