Unfreeze dependencies for apps receiving broadcast
Currently unfreezeTemporarily() doesn't update oomadj of the target frozen process. If that frozen process calls into another frozen service or content provider, it fails. Async calls will be delayed, causing ANR. Sync calls will kill the latter unnecessarily. As it's heavy to recompute and propagate oomadj values of the impacted processes, those frozen processes are temporarily unfrozen to process the incoming broadcasts. The long term goal is to improve the oomadj logic and remove unfreezeTemporarily(). Bug: 272319219 Test: atest CachedAppOptimizerTest BroadcastQueueTest Test: manually verify broadcasts unfreeze apps and their bound services Change-Id: Ia584206a90ca9e4ada8d9c319a7ee103da8a4e4a
Loading
Please register or sign in to comment