上一页 1 2 3 4 5 6 ··· 32 下一页
摘要: 1. Watchdog初始 Watchdog的中文的“看门狗”,有保护的意思。最早引入Watchdog是在单片机系统中,由于单片机的工作环境容易受到外界磁场的干扰,导致程序“跑飞”,造成整个系统无法正常工作,因此,引入了一个“看门狗”,对单片机的运行状态进行实时监测,针对运行故障做一些保护处理,譬如 阅读全文
posted @ 2019-01-07 17:32 Leo的银弹 阅读(828) 评论(0) 推荐(0) 编辑
摘要: 1.日志获取 Watchdog相关的问题甚至需要以下所有的日志: logcat 通过adb logcat命令输出Android的一些当前运行日志,可以通过logcat的 -b 参数指定要输出的日志缓冲区,缓冲区对应着logcat的一种日志类型。 高版本的logcat可以使用 -b all 获取到所有 阅读全文
posted @ 2019-01-03 15:13 Leo的银弹 阅读(2830) 评论(0) 推荐(0) 编辑
摘要: Android系统中,有硬件WatchDog用于定时检测关键硬件是否正常工作,类似地,在framework层有一个软件WatchDog用于定期检测关键系统服务是否发生死锁事件。 watchdog的源码很简单,主要有两个功能 1监控system_server中几个关键的锁,原理就是在android_f 阅读全文
posted @ 2018-12-26 17:35 Leo的银弹 阅读(2083) 评论(0) 推荐(0) 编辑
摘要: ANR时间区别便是指当前这次的事件dispatch过程中执行findFocusedWindowTargetsLocked()方法到下一次执行resetANRTimeoutsLocked()的时间区间. 以下5个时机会reset. 都位于InputDispatcher.cpp文件: resetAndD 阅读全文
posted @ 2018-12-25 17:27 Leo的银弹 阅读(2761) 评论(0) 推荐(0) 编辑
摘要: ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。 造成ANR的场景: Service Timeout:比如前台服务在20s内未执行完成; 阅读全文
posted @ 2018-12-25 17:08 Leo的银弹 阅读(809) 评论(0) 推荐(0) 编辑
摘要: SystemServer由Zygote fork生成的,进程名为system_server,该进程承载着framework的核心服务. 调用流程如下: 上图前4步骤(即颜色为紫色的流程)运行在是Zygote进程,从第5步(即颜色为蓝色的流程)ZygoteInit.handleSystemServer 阅读全文
posted @ 2018-12-21 16:48 Leo的银弹 阅读(2700) 评论(0) 推荐(1) 编辑
摘要: Zygote是由init进程通过解析 init.zygote.rc 文件而创建的,zygote所对应的可执行程序 app_process,所对应的源文件是App_main.cpp,进程名为zygote。 Zygote重启的情况(四种) servicemanager进程被杀; (onresart) s 阅读全文
posted @ 2018-12-19 17:17 Leo的银弹 阅读(498) 评论(0) 推荐(0) 编辑
摘要: JIT与Dalvik JIT是"Just In Time Compiler"的缩写,就是"即时编译技术",与Dalvik虚拟机相关。 怎么理解这句话呢?这要从Android的一些特性说起。 JIT是在2.2版本提出的,目的是为了提高Android的运行速度,一直存活到4.4版本,因为在4.4之后的R 阅读全文
posted @ 2018-12-17 19:11 Leo的银弹 阅读(487) 评论(0) 推荐(0) 编辑
摘要: ##内部存储 总是可用的 这里的文件默认是只能被你的app所访问的。 当用户卸载你的app的时候,系统会把internal里面的相关文件都清除干净。 Internal是在你想确保不被用户与其他app所访问的最佳存储区域。 ##外部存储 并不总是可用的,因为用户可以选择把这部分作为USB存储模式,这样 阅读全文
posted @ 2018-12-17 19:10 Leo的银弹 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 几个系统关键对象: ActivityManagerServices,简称AMS,服务端对象,负责系统中所有Activity的生命周期 ActivityThread,App的真正入口。当开启App之后,会调用main()开始运行,开启消息循环队列,这就是传说中的UI线程或者叫主线程。与Activity 阅读全文
posted @ 2018-12-17 18:56 Leo的银弹 阅读(334) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 32 下一页