添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

错误堆栈:

ActivityManager: ANR in com.oppo.reader     PID: 8071     
Reason: executing service com.oppo.reade//com.zhangyue.iReader.service.VoiceService

这个问题只在oppo A53 2G的运行内存手机上出现。 android 5.1

错误分析:

有这个问题,我第一反应是:com.zhangyue.iReader.service.VoiceService 这个service里面有超时的问题,但是,我把这个Service 里面的所有代码都注释掉了。还是有ANR!

我说,难道单独写一个Service 在这个手机上,什么都不做也会ANR? 我写了一个demo,人还是不能懒得。然后发现,没有问题。说明,和这个手机没有关系。

然后我就无语了。我就告诉我们老大,说:我把这个Service 里面的所有代码都注释掉了。还是有ANR!当时我们老大说,这只能说明,产生这个问题和这个Service没有关系!我竟然没有推理出这样的结论,恨自己!说明出问题的地方不在这里!

后来他说让我try catch 一个启动服务的地方:

        Context context = IreaderApplication.getInstance();
        Intent intent = new Intent(context, VoiceService.class);
        intent.putExtra("list", (ArrayList) playlist);
        intent.putExtra("name", bookName);
        intent.setAction(VoiceService.ACTION_SET_PLAYLIST);
        context.startService(intent);

我加上try catch ,发现还是会ANR! 我就觉得和try catch 没关系,因为如果发生了异常,肯定当时就崩溃了。不会20s之后ANR. 然后他说,你把这块代码注释掉,注释掉之后,果然没有问题了!

也就是问题是由于这一坨代码产生的。因为这段代码设置了一个action,我去调试,断点这个Service 的ACTION_SET_PLAYLIST这里,发现根本没有走到这里来。说明服务没有启动起来。 但是其他的action 都可以启动起来!

这里会传递一个playlist的ArrayList, 我调试的时候,发现他有980多条!这么大的数据,导致启动服务的时候,ANR了。我擦,这么大的数据,你竟然putExtra 去传递!怪不得有问题。

解决问题:

这个playlist,我就换一种传递方式。比如写个DataManage, 里面有个set 方法,你把数据设置进去就可以了。我其他地方要取用的话,直接get 拿到数据就可以了。

1.禁止启动四大组件的时候,在Intent 里面传递过大的数据!可能导致ANR。
2.这个问题只在oppo A53 2G的运行内存手机上出现。 android 5.1 说明该手机太差劲了。有些问题就喜欢在一些很差劲的手机上面出现。
3.这种ANR 问题,App 是无法拿到信息的。只有手机room厂商才能拿到。很无奈。所以,市面上有多少这种问题,不得而知。当时是用户反馈,才知道这个问题的。

错误堆栈:ActivityManager: ANR in com.oppo.reader PID: 8071 Reason: executing service com.oppo.reade//com.zhangyue.iReader.service.VoiceService这个问题只在oppo A53 2G的运行内存手机上出现。 android 5.1错误分析:有这个... 现在感觉自己做的工作,基本上脱离Android了就是用java写代码,而且可能试用期完了就会被刷,很多东西是公司自己的,完全不知道怎么下手研究,导师指导也就是几句话的说你看下哪里哪里的代码。要不是旁边的一个大牛,我是真的走不下去了。大佬们,要是被刷求介绍工作,不怕加班,只怕没有讨论没有指导。 写这篇博客另外感谢之前小米的同事,她在北邮念完研究生,但是却很低调,她是很好的学姐,她当时工作就...
最近targetSdkVersion 升级为28后出现Android ANR:executing service com.xxx.yyy/cn.jpush.android.service.PushService 需要将极光推送的jar文件替换成最新版 / 极光版本库升级到最高
转载自:http://wenku.baidu.com/link?url=fUXG2wO3ECS2nZorr6MtTH8_PNCQESk-h8UpQdt1NH0_AjtgwbwW2b7PIO7oJ0OyJJzr62uB0202rXyNBK3tQtqGV3hxr_WVw6UrB7imO_a 1 ANR是如何产生的............................
最近targetSdkVersion 升级为28后出现Android ANR:executing service com.xxx.yyy/cn.jpush.android.service.PushService 极光推送的jar文件替换成最新版的就可以了,记录一下
https://source.android.google.cn/source/read-bug-reports.html 无论是任何类型的开发工作,出错都在所难免,而错误报告对于找出和解决问题至关重要。Android 的所有版本都支持通过 Android 调试桥 (adb) 获取错误报告;Android 4.2 及更高版本支持一个旨在获取错误报告以及通过电子邮件、云端硬盘等分享报告的开发者选项。 Android 错误报告中包含文本 (.txt) 格式的 dumpsys、dumpstate 和 log
activeSelf unity 获得自己active属性得时候可以用gameObject.activeSelf来获得,注意这是获取自身得active属性。假如该物体得父对象在层级面板上是关闭得状态,获取到activeSelf属性仍然是true。那么如果想获得这个物体得父对象状态代表他自己的状态时候需要用以下方法。 activeInHierarchy activeInHierarchy是获取到父对...
ANR即Application Not Responding。出问题时,弹出对话框,提示“XXX无响应“。ANR有哪些类型? 1、按键分发超时 按键按下/抬起/触摸等事件分发超时。Android默认超时时间5s,厂商定制后超时时间可能有差别,5s~15s不等。根据Android版本/按键事件所处的阶段,默认超时时间可能不一样。2、广播超时 BroadcastReceiver接
解决 fastjson 泛型报错 : java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to X 22751