关于后台服务的ANR

时间:2019-04-22 17:29:15

标签: android service lag android-anr-dialog

我正在运行2个后台服务

一个检测震动,另一个检测长按电源按钮。

服务在后台运行良好,但是有时当应用程序在后台运行时,我又一次弹出此消息:“ Application_name没有响应,请等待或停止”。两种服务都是正常服务,并且在onStartCommand()上具有 START_STICKY

我已经在清单中声明了这两个服务。

还有一件事,有时当我打开我的应用程序时(在服务运行了一段时间之后),我在应用程序启动时得到了纯白色的屏幕,并且一直停留在那里。

如果有人对这些情况有任何想法,请告诉我。如果您也需要查看代码,请告诉我。

1 个答案:

答案 0 :(得分:1)

  1. 查找在后台发生的UI更新。
  2. 确保代码中没有不必要的Timer()。如果在那里,则在不需要它们时将其停止。
  3. 如果您使用的是Geocoder,请尝试从背景线程获取位置。
  4. 最后一个选择是尝试实施Leak Canary并修补所有泄漏。