请教一下大家,有没有遇到过非 ANR 的卡死

2019-01-09 14:31:22 +08:00
 sazn

android 的 app 运行环境 4.4.2,已 root 不定时 卡死,但是始终不弹出 ANR,无法进行其他任何操作 重启系统后,logcat 中无报错

因为是做智能零售的,所以安卓端都是定制的,目前找厂商好几个月了,都没有答复为什么会卡死

各位大大有没有遇到过这种情况的呢?

5116 次点击
所在节点    Android
7 条回复
sazn
2019-01-09 14:45:39 +08:00
我在想,如果是我 APP 本身持续占用主线程导致的卡死,那一定会出现 ANR 呀

可是现实情况是,就是 单纯的卡死,ANR 始终不出现
crayygy
2019-01-09 15:45:03 +08:00
有一种可能,就是并不是 ANR,而是有一个透明的 activity 在最顶上,会干掉所有的事件,看起来跟 ANR 没两样,建议 check 一下内置的其他软件的使用情况。
sazn
2019-01-09 16:04:59 +08:00
@crayygy 感谢提供思路
如果是一个透明的 ACTIVITY,那应该还是能从 logcat 中看到日志的,但是没有卡死那段时间的日志(记录了所有日志)
而且物理 home 键应该是无法屏蔽的,除非修改 PhoneWindowManager.java

因为是安卓工控机,机器刚开始运行时电流干扰比较大,现在怀疑是不是因为电压不稳导致的卡死,正在进行测试:)
rosu
2019-01-09 17:05:15 +08:00
看看 CPU 占用,某些系统或硬件下,CPU 占用过高直接整个系统卡死然后重启啥的。
GoodRainChen
2019-01-09 20:07:28 +08:00
看主线程有没有其他日志打印,主线程卡住肯定 ANR 的。
定制的系统不一定可靠,有可能干脆是 input 子系统出错了事件没传上来
也有可能是 RenderThread 或者绘制相关的模块卡住,只卡画面,没卡主线程,所以不 ANR
Android2MCU
2019-01-09 20:15:37 +08:00
看下是否整个系统界面都冻住了(这样可能是系统卡住了),还是单纯触摸没反应(那就要看 input 子系统是否挂了,考虑到 lz 提到电压不稳,很可能是 tp 收到干扰,导致报点异常)。
siyehua
2019-01-10 22:35:24 +08:00
也不一定会卡死,如果一直在计算一个东西,而这个东西的计算量非常小,这样 CPU,内存占用也不高,但是计算的数目非常多,这样并不会 ANR,但是无法做出下一步动作

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/525371

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX