AudienceNetwork 引发的惨案

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

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

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

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

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

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

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

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

时间: 2024-08-26 14:14:34

AudienceNetwork 引发的惨案的相关文章

一道题引发的惨案

昨天在一个cocos2d-x的群里,有群友发了一个问题求答案,当时自已也一下子没想到什么好的写法,这时候有个群友写了一个比较少见的代码方法,当时一看到这代码,我有一种如糊灌顶的感受,因为自已平时基本没用这种写法,今日在别的群,我就发了这道题让大家讨论一下,结果没想到,引发了各种争吵和讨论,有写得不好却自以为是的,有写得好却看不起别人的写法,有写得很好却十分低调的,十分精彩,也算是为群里热闹了一下气氛,QQ群也变成了社会市井的一个浓缩了,呵呵. 以下贴上问题和昨天那位群友写的代码,我觉得精彩的地方

CSDN日报20170301——《一次dns缓存引发的惨案》

[程序人生] 一次dns缓存引发的惨案 作者:纯洁的虫子 时间2015年的某个周六凌晨5点,公司官方的QQ群有用户反馈官网打不开了,但有的用户反馈可以打开,客服爬起来自己用电脑试了一下没有问题,就给客户反馈说,可能是自己网络的问题,请过会在试试.早点8点,越来越多的用户反馈官网无法打开,并且有部分用户开发反馈app也打不开了,客服打电话叫起了还在梦乡中的我. -- 点此阅读全文 [Android 开发] Android UI性能优化 检测应用中的UI卡顿 作者:鸿洋 在做app性能优化的时候,大

try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}}引发的惨案

如题,ajax请求报错:try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}}引发的惨案 要么是404,要么是400,还有500 搞了好半天,找到jquery.min.js发现这句错误在第一处. 于是:看了我前台获取的日期参数,只有年月日 而后台类注解到了 时:分:秒 因为在前端转换数据的时候,时分秒为空就报错了,于是乎在后台接收把这个字段改成了String类型就行了.只是需要多一遍String 转Date,当然格式要是

记一次项目中yaml文档引发的惨案 (#yaml文档格式#yaml中'-'的作用)

项目已经在收尾阶段了,然后老大让我去把dockerCompose.yaml文件中公用配置给抽取一下,就是说以后改配置啊什么的就可以直接在抽出来的公用变量里面改就行了, 不用一个模块一个模块地去改(我们这个项目是微服务项目,十多个模块),本来是个很没技术含量的活儿,但是呢,引发了一场切(diao)尸吊的话题,来看下原始的配置 文件: 看下官网的语法: 我抽取的: 然后当然就是报错啦, 再然后就是各种检查顺序啊,检查有没有空格的尝试,然后无果,我就和老大汇报说抽不了,如果能抽我切尸吊俩厘米,然后我老

一次dns缓存引发的惨案

时间2015年的某个周六凌晨5点,公司官方的QQ群有用户反馈官网打不开了,但有的用户反馈可以打开,客服爬起来自己用电脑试了一下没有问题,就给客户反馈说,可能是自己网络的问题,请过会在试试.早点8点,越来越多的用户反馈官网无法打开,并且有部分用户开发反馈app也打不开了,客服打电话叫起了还在梦乡中的我. 分析定位 被客服叫起来之后,一脸懵逼,不知道什么情况,给客服回复,知道了,立刻排查,待会有消息及时沟通.用凉水洗了一把脸清醒了一下,立刻根据经验回忆这两天生产投产的情况:上线了XX模块,不影响.修

由 "select *" 引发的“惨案”

今天凌晨做发布, 要合并多个分数据库的表数据到主数据库中, 有 30+ 分数据库. 前面都比较顺利, 在临近结束时,突然发现一个字段的值插入错误. 有一个表 T,字段分别为 (f1, f2, f3, gmt_create, gmt_modify, name) . 假设分数据库为 a1, a2, ..., a30 , 主数据库为 A . 合并的逻辑是: 从 a1, a2, ..., a30 取出对应的字段, 依次插入到 主数据库中. aRet = adb.query("select * from

js中this作用域引发的惨案

function MultiTimeOut(count, timer, cb){ var c = count > 1 ? count : 1 var s = false this.run = function(){ if(c > 0 && !s){ cb() c-- setTimeout(this.run, timer) } }   this.stop = function(){ s = true } this.reset = function(){ c = 1 s = fal

htons和htonl引发的惨案

什么都不说,先抛出问题: 客户端:connect: Connection refused 调试服务器出现以下问题: port:传入的服务器端口号,设置为8888 srvaddr.sin_port:将本地端口号转化为网络端口号后存放在网络套接口地址数据结构中 这里竟然是0! 此处使用的是htonl 这就是死在htons手下的客户端,将客户端与服务器分割在银河的两端 原因:没有注意网络套接口地址数据结构中sin_port的数据类型,以及误以为htonl可以随意替代htons使用 IPV4通用网络套接

realloc函数引发的惨案

帮别人调试个程序,程序的功能主要涉及动态数组,实现动态数组元素的添加,删除,查找,显示功能.但是在执行添加功能的时候,连续执行三次添加的时候就会出现问题,让人感到非常的莫名其妙. 涉及到的函数如下所示: void adddata(int * arr, int * len) { int n; int *add; int cnt=0, t1; printf("pleaseenter the amount of element you want to add;\n"); scanf(&quo