Android 应用长时间运行导致ANR,并且系统重启,该怎样解决?

以下为到处的Traces.txt文件,请问从这里面能看出是什么问题吗?

img

img

img

log中没有anr的吗?一般的线程阻塞都可以通过log来查看的,也有可能是因为内存不够了

一般来说会有anr的报错信息提示是应为哪里阻塞了的,找到呢个页面优化一下大部分原因是呢个页面使用了大部分资源导致的,楼主查看一下吧

通过已有的trace不好分析,从主线程调用栈看,目前阻塞在了 WindowManagerService 的 relayout 方法,一般 anr 的 trace 会把系统进程的调用栈也截出来,看看 system server 下的 window manager 线程,是不是 relayout 流程在等待 am 或者 wm 的锁,然后再进一步的分析

建议把 dropbox 里的 anr 日志也拿出来,里面通常会有 anr 发生时的 cpu 以及内存信息,像你这种 anr,通常是系统负载较大,或者某些系统应用发生阻塞导致的,一般不是 app 的问题,建议让 framework 协助调查一下