V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sazn
V2EX  ›  Android

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

  •  
  •   sazn · 2019-01-09 14:31:22 +08:00 · 9136 次点击
    这是一个创建于 2144 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    7 条回复    2019-01-10 22:35:24 +08:00
    sazn
        1
    sazn  
    OP
       2019-01-09 14:45:39 +08:00
    我在想,如果是我 APP 本身持续占用主线程导致的卡死,那一定会出现 ANR 呀

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

    因为是安卓工控机,机器刚开始运行时电流干扰比较大,现在怀疑是不是因为电压不稳导致的卡死,正在进行测试:)
    rosu
        4
    rosu  
       2019-01-09 17:05:15 +08:00 via Android
    看看 CPU 占用,某些系统或硬件下,CPU 占用过高直接整个系统卡死然后重启啥的。
    GoodRainChen
        5
    GoodRainChen  
       2019-01-09 20:07:28 +08:00
    看主线程有没有其他日志打印,主线程卡住肯定 ANR 的。
    定制的系统不一定可靠,有可能干脆是 input 子系统出错了事件没传上来
    也有可能是 RenderThread 或者绘制相关的模块卡住,只卡画面,没卡主线程,所以不 ANR
    Android2MCU
        6
    Android2MCU  
       2019-01-09 20:15:37 +08:00 via iPhone
    看下是否整个系统界面都冻住了(这样可能是系统卡住了),还是单纯触摸没反应(那就要看 input 子系统是否挂了,考虑到 lz 提到电压不稳,很可能是 tp 收到干扰,导致报点异常)。
    siyehua
        7
    siyehua  
       2019-01-10 22:35:24 +08:00
    也不一定会卡死,如果一直在计算一个东西,而这个东西的计算量非常小,这样 CPU,内存占用也不高,但是计算的数目非常多,这样并不会 ANR,但是无法做出下一步动作
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1033 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:35 · PVG 03:35 · LAX 11:35 · JFK 14:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.