问题:打开快速关机选项,刚开机,就立即关机,出现快速关机功能失效,直接进入真关机


google default ordered broadcast 的设计原则就是 one by one 的处理方式,上一个 ordered broadcast 没有处理完,下一个 ordered broadcast 必须在 queue 中处于等待的状态。

开机的过程中,会发很多的 broadcast 出来,而关机又会发送 orderedbroadcast ACTION_SHUTDOWN 出来。如果说开机的的动作没有全部完成,其相关的 ordered broadcast 没有处理完成,那么关机的 action_shutdown 就不会被处理。此时进行 ipo 关机,系统会认为此时系统 loading 过重,并不适合做快速关机,否则会引起一些状态上的不稳定。所以直接会将快速关机变真关机,以保持手机状态的稳定。

其实从逻辑上来看,会造成拥堵,这个是基于 google broadcast 架构的设计所限制,如果说擅自修改这里的规则的话,担心会引起其他的问题,可能风险更大一些 , 所以不建议修改