com.google.android.gms 报错 DeadObjectException

文章标签: android,google-api
2014-10-14 13:27:10     人阅读    

程序日志控制台频繁的出现如下日志问题。它和我的程序代码关系不大,我猜测可能和GoogleApiClient连接/断开有关系。

有人碰见同样的问题吗,我被该问题苦恼了很久,百思不得其解

我在可能发生的地方用如下的方式进行捕获...

java.lang.IllegalStateException: android.os.DeadObjectException
  at com.google.android.gms.internal.ao.removeAllListeners(Unknown Source)
  at com.google.android.gms.internal.ap.disconnect(Unknown Source)
  at com.google.android.gms.common.api.b.n(Unknown Source)
  at com.google.android.gms.common.api.b.a(Unknown Source)
  at com.google.android.gms.common.api.b$2.onConnectionSuspended(Unknown Source)
  at com.google.android.gms.internal.r.y(Unknown Source)
  at com.google.android.gms.internal.q$a.handleMessage(Unknown Source)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:136)
  at android.app.ActivityThread.main(ActivityThread.java:5102)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
  at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.DeadObjectException
  at android.os.BinderProxy.transact(Native Method)
  at com.google.android.gms.internal.an$a$a.a(Unknown Source)
  ... 15 more


 

mGApiClientMgr.addTask(mGApiClientMgr.new GoogleApiClientTask() {
            @Override
            public void run() {
                Log.d(LOG_TAG, "Refreshing data set.");
                Location location;
                try {
                    location = LocationServices.FusedLocationApi.getLastLocation(getGoogleApiClient());
                    onLocationChanged(location);
                }
                catch(IllegalStateException ex) {
                    // TODO
                }
            }
        });



private final LinkedBlockingQueue mTaskQueue = new LinkedBlockingQueue
        ();

  mTaskQueue.offer(task);

处理方法

看起来是你的程序在消息传到的时候报错的...从如下的代码中可以看到应该是你的程序触发的它可能已经被你的代码触发。
at com.google.android.gms.internal.q$a.handleMessage(Unknown Source)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:136)


此异常应该是程序视图访问一个已经退出或者死掉的进程时触发全局通过 sendMessage*搜索你的代码,看看可能的触发地方。

同样检测一下是否有一些开发后台服务触发了消息请求,如果时的话,就覆盖掉onDestroy ,已方便android在释放资源


原文地址:http://www.itmmd.com/201410/28.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

升级cordova 1.8.1 到 cordova 3.6.3 出现问题   上一篇
下一篇  Google App Engine DataStore 查询空指针异常和找不到类
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!