Application Not Responding:即应用无响应
如果应用程序主线程在超时时间内对输入事件没有处理完毕,或者对特定 *** 作没有执行完毕,就会出现ANR
(主线程在特定的时间内没有做完特定的事情)
Android ANR或Crash的定位、检测和避免
Android Native Crash
Native 程序是指可以直接运行在 *** 作系统上,并且处理器直接执行机器码的程序,比如 “/system/bin” “/system/lib” 目录下的文件,这些应用程序都是由GCC(c/c++)编译生成,这些程序的崩溃统称为Native Exception,比如空指针,非法指针,程序跑飞,内存踩坏等。
Native Crash都是进程收到信号引起的.
Android开发中Bug的捕获/定位和避免方法的完整文档,请访问如下地址:
https://mp.weixin.qq.com/s/AQkHoLl0_xt6xbluYX0CTQ
https://mp.weixin.qq.com/s/_eeIeChNX7n2ZxjonGAv3A
在Android里面,init程序会解析 Init.rc文件,然后启动很多Native Service。如何查看这些service的状态呢,查看init的源代码,发现所有的native service的信息都会保存到系统属性里面。这样就可以用下面的命令查看各个Service的状态。# getprop |grep init.svc
getprop |grep init.svc
[init.svc.servicemanager]: [running]
[init.svc.vold]: [running]
[init.svc.netd]: [running]
[init.svc.debuggerd]: [running]
[init.svc.omsril-daemon]: [running]
[init.svc.sdm]: [running]
[init.svc.zygote]: [running]
[init.svc.media]: [running]
[init.svc.dbus]: [running]
[init.svc.installd]: [running]
[init.svc.keystore]: [running]
[init.svc.lapisrv]: [running]
[init.svc.console]: [running]
[init.svc.tcmd-autolaunch]: [stopped]
[init.svc.tel]: [stopped]
[init.svc.pxa920-setup]: [stopped]
[init.svc.logcat]: [running]
[init.svc.logcat-radio]: [running]
[init.svc.dnsmasq]: [running]
[init.svc.powerpolicy]: [stopped]
[init.svc.adbd]: [running]
[init.svc.telserver]: [stopped]
[init.svc.bootanim]: [stopped]
[init.svc.fmradiod]: [stopped]
[init.svc.wpa_supplicant]: [running]
[init.svc.dhcpcd]: [running]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)