过程不好错误似乎没有很好的记录,我只能找到解决方法。我对这个错误的原因感兴趣,以及如何防止它发生,而不是如何通过重新启动,重新启动应用程序等手动处理它。防止Android“过程不好”错误
我特别的应用程序使用AlarmManager启动IntentService,每30秒〜10秒。这在创建应用程序时被调用:
Intent serviceIntent = new Intent(appContext, MyService.class);
serviceIntent.putExtra("service_extra", extra);
launchService = PendingIntent.getService(
appContext,
LAUNCH_SERVICE_REQUEST_CODE,
scanIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
alarmManager.setInexactRepeating(
AlarmManager.RTC,
System.currentTimeMillis() + interval,
interval,
launchService
);
这可以按预期的方式在大多数情况下工作。但是,偶尔服务将无法无限期启动,有时几小时不能启动。每30秒就会出现以下错误,所以我知道我的警报正在尝试按计划启动IntentService,但尝试失败且进程错误。
Unable to launch app com.example.android/10024 for service Intent { cmp=com.example.android/.MyService (has extras) }: process is bad
这是通过简单地重新打开应用程序来解决。但我需要知道如何预防它!此服务的目的是在活动停止或销毁时在后台运行,因此它必须在没有任何用户交互或解决方法的情况下防止此错误。
服务中是否有任何静态变量? – Rahul 2017-08-01 17:23:22
不确定,多年没有触及代码,也无法访问。但可能是的。怎么来的? – tep 2017-08-26 14:01:46