机器是MTK平台,测试人员说切到某个功能页面,然后做低温测试长期运行,第二天回来上班看到主界面了,说明有重启了,我作为一个搞驱动的打杂小伙,那要得去分析一下原因。
1、先看内核log,刚开始看起来风平浪静,突然init进程有这么一处关键信息
也就是zygote 进程收到了信号9,信号9就是杀掉zygote的意思。那这样安卓会重启,但是内核不会重启。
2.看安卓记录的logcat
发现原来是system_server crash了
那再继续分析发现,我们某个APP工程师写的代码FLYTransact.java第50行,有内存泄漏!!!!
关键信息:20537个 BinderProxy泄漏, (leak: 泄漏,漏出,透露)
java.lang.AssertionError: Binder ProxyMap has too many entries: 20581 (total), 20544 (uncleared), 20537 (uncleared after GC). BinderProxy leak?
最后,给APP工程师修改了一版本以后,程序低温长期运行,一切正常,那验证了我们的结论。