安卓,应用程序无响应(ANR)

安卓应用程序运行时,有时会因为逻辑bug,导致应用无响应的问题。

安卓,应用程序无响应(ANR)


修复方法:

1、连接adb.exe工具,运行应用至无响应处。

在log信息中查找"ANR"相关, 这里看到应用无响应相关信息,已保存至手机目录 '/data/anr/traces.txt'

安卓,应用程序无响应(ANR)


2、 在手机目录下,查看ANR无响应原因

安卓,应用程序无响应(ANR) 安卓,应用程序无响应(ANR)

 


3、对照应用源码逻辑,修复导致无响应的异常、或死循环

安卓,应用程序无响应(ANR)

安卓,应用程序无响应(ANR)

对照应用运行时的数据信息,发现当roleCTime=0时,while死循环一直执行,导致应用无响应。

根据应用具体逻辑修改掉导致无响应的死循环即可

安卓,应用程序无响应(ANR)


ANR应用无响应已修复。

安卓,应用程序无响应(ANR)


附录:如何查看应用运行时log信息

1、使用adb.exe(安卓开发工具sdk目录下)输出运行log至文件:

在cmd中输入, E:\sci\ADT\sdk\platform-tools\adb.exe logcat -v time >C:\Users\scimence\Desktop\logx.txt

安卓,应用程序无响应(ANR)

2、通过安卓开发工具中logcat查看。 

安卓,应用程序无响应(ANR)