我有一个应用程序,它从服务中获取数据值(坐标),运行良好,但在大约7到8分钟后崩溃。
在logcat中出现了很多这样的消息:
02-24 09:50:35.761: E/RemoteException(6395):android.os.DeadObjectException
这些消息来自应用程序而不是服务,但我认为这是因为服务失败了吗?
更新
通过这些评论,我更好地理解了问题是由服务的失败引起的,但是我读到了这个问题How to fix android.os.DeadObjectException android X (类似于我的),但是答案是…让我有些困惑。
这是我的ondestroy():
@Override
public void onDestroy() {
Toast.makeText(this, "Servicio destruido", Toast.LENGTH_SHORT).show();
Log.d("SERVICEBOOT", "Servicio destruido");
capture.control(0);
}我如何知道哪个元素关闭了我的服务?
发布于 2014-02-24 09:10:23
当父进程停止时,您正在使用内存中不再存在的对象的实例。
发布于 2019-06-05 12:12:53
将此添加到服务类中。这将阻止应用程序崩溃。当应用程序从ram中删除时,“onTaskRemoved”触发器
@Override
public void onTaskRemoved(Intent rootIntent){
stopSelf();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
super.onTaskRemoved(rootIntent);
}
@Override
public void onDestroy() {
super.onDestroy();
//Your Runnable
mRunnable=null;
}https://stackoverflow.com/questions/21983058
复制相似问题