android 的 app 运行环境 4.4.2,已 root 不定时 卡死,但是始终不弹出 ANR,无法进行其他任何操作 重启系统后,logcat 中无报错
因为是做智能零售的,所以安卓端都是定制的,目前找厂商好几个月了,都没有答复为什么会卡死
各位大大有没有遇到过这种情况的呢?
1
sazn OP 我在想,如果是我 APP 本身持续占用主线程导致的卡死,那一定会出现 ANR 呀
可是现实情况是,就是 单纯的卡死,ANR 始终不出现 |
2
crayygy 2019-01-09 15:45:03 +08:00 via Android
有一种可能,就是并不是 ANR,而是有一个透明的 activity 在最顶上,会干掉所有的事件,看起来跟 ANR 没两样,建议 check 一下内置的其他软件的使用情况。
|
3
sazn OP @crayygy 感谢提供思路
如果是一个透明的 ACTIVITY,那应该还是能从 logcat 中看到日志的,但是没有卡死那段时间的日志(记录了所有日志) 而且物理 home 键应该是无法屏蔽的,除非修改 PhoneWindowManager.java 因为是安卓工控机,机器刚开始运行时电流干扰比较大,现在怀疑是不是因为电压不稳导致的卡死,正在进行测试:) |
4
rosu 2019-01-09 17:05:15 +08:00 via Android
看看 CPU 占用,某些系统或硬件下,CPU 占用过高直接整个系统卡死然后重启啥的。
|
5
GoodRainChen 2019-01-09 20:07:28 +08:00
看主线程有没有其他日志打印,主线程卡住肯定 ANR 的。
定制的系统不一定可靠,有可能干脆是 input 子系统出错了事件没传上来 也有可能是 RenderThread 或者绘制相关的模块卡住,只卡画面,没卡主线程,所以不 ANR |
6
Android2MCU 2019-01-09 20:15:37 +08:00 via iPhone
看下是否整个系统界面都冻住了(这样可能是系统卡住了),还是单纯触摸没反应(那就要看 input 子系统是否挂了,考虑到 lz 提到电压不稳,很可能是 tp 收到干扰,导致报点异常)。
|
7
siyehua 2019-01-10 22:35:24 +08:00
也不一定会卡死,如果一直在计算一个东西,而这个东西的计算量非常小,这样 CPU,内存占用也不高,但是计算的数目非常多,这样并不会 ANR,但是无法做出下一步动作
|