标签:ANR清除筛选

Android-Framework(十七)-startService 与 bindService 的启动流程

startService 和 bindService 表面上对应两套 API,进入 Framework 后却共享了大半条启动链。两者都从调用方进程进入 ContextImpl,经 Binder 到达 system_server 中的 ActivityManagerService(下文简称 AMS),由 ActiveServices 查找或创建 ServiceRecord,再把生命周期调用投

Handler 运行流程源码解析(八):为什么主线程的 Looper 死循环不会卡死应用(ANR)

主线程最终进入 Looper.loop ,正常运行时这个方法不会返回。既然线程一直停留在循环中,Activity 生命周期、点击事件和界面刷新为什么还能执行? 关键在于:这些工作本来就由事件循环驱动。 主线程不需要先退出 loop 才能执行回调;回调就在循环处理事件的过程中被调用。空闲时,循环又会进入可唤醒的阻塞等待,避免持续空转。 一、先区分无限循环、忙等、死锁和 ANR 几个词经常被混用