Check PendingStartActivityUids list before updateOomAdj is done.
While starting activity, WindowManager posts a runnable to DisplayThread to updateOomAdj. The latency of the thread switch could cause client app failure when the app is checking ActivityManagerService.isUidActive() before updateOomAdj is done. Use PendingStartActivityUids to save uid after WindowManager start activity and before updateOomAdj is done. PendingStartActivityUids list is checked in ActivityManagerService.isUidActive() and AppOpsService.UidState.evalMode(). A uid in this list is treated same as uid is active. Bug: 157180494 Test: atest cts/tests/app/src/android/app/cts/ActivityManagerCameraLaunchTest.java Change-Id: If0685c3c2fad01e48f3fcf2228057041f4ec9b00
Loading
Please register or sign in to comment