diff options
| author | 2023-03-29 16:45:37 -0700 | |
|---|---|---|
| committer | 2023-03-31 09:15:58 -0700 | |
| commit | db1c135a591ee5d0c7952bc6ad1b5a937283089e (patch) | |
| tree | b76e34f59d9e6fa09577ad974327a9b94aefc9b5 /libs/androidfw/ObbFile.cpp | |
| parent | 83e31c24dad22c42bc4c2a1641d849122414dff6 (diff) | |
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
Diffstat (limited to 'libs/androidfw/ObbFile.cpp')
0 files changed, 0 insertions, 0 deletions