android.os.deadobjectexception在服务android中

时间:2014-02-24 09:00:19

标签: java android service

我有一个从服务中获取数据值(坐标)的应用程序,并且工作正常,但是经过大约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);

}

我怎么知道这个元素关闭了我的服务?

再次感谢

2 个答案:

答案 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;
    }