Li.Stony

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天临近发布,QA的同事报了很多诡异的bug —— 海外版的。一样的代码,国内版没有问题。

国内版和海外版的主体代码都在一起,而且出问题的部分也没有做拆分,所以运行效果应该完全一样!

但是表现出来的现象就是,海外版不行。

我跟了一下出问题的代码,发现,有的 AsyncTask.doInBackground 就是死活不执行。所以猜想,是不是海外有些代码阻塞了系统的 AsyncTask 的默认线程。

在 Eclipse 里,我还知道是在 DDMS 里查看,但,现在刚转 Android Studio 没多久,不太熟悉。

 

随便点了下这个相机的图标 ,应该是线程快照吧。点过几次之后

 

 

发现,有个 AsyncTask 一直是 runanble 状态,而且是阻塞在了 socket 的 connect 函数上。是在  com.facebook.ads.internal.http.h.doInBackground()  里调用的。再上层的类就看不出来了。

我们试过几次之后发现,确实是禁用了 facebook 广告后,其他功能就正常了。当然,如果手机本身可以连接上facebook的服务器的话,app 的表现也是非常正常的。

posted on 2016-04-29 19:17  Li.Stony  阅读(615)  评论(0编辑  收藏  举报