我有一个从服务中获取数据值(坐标)的应用程序,并且工作正常,但是经过大约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);
}
我怎么知道这个元素关闭了我的服务?
再次感谢
答案 0 :(得分:0)
您正在使用内存中不再存在的对象实例,因为父进程已停止。
答案 1 :(得分:0)
将此添加到服务等级上。这将阻止应用崩溃。从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;
}