BroadcastQueue: post finishReceiver() as async.
In the typical case, the remote process calls back around to finishReceiver() once it's finished. In cases were we shortcutted delivery, we had been calling finishReceiver() directly, but that results in holding the AMS lock for a long period of time as we recursively deliver the next pending broadcast. This change adjusts that shortcutting behavior to post through a message, so that we release the AMS lock, giving other pending operations a chance to run. Bug: 255936508 Test: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little && atest ActivityManagerPerfTests:BroadcastPerfTest Change-Id: Ic7094df0a1d2aa1e2ac1e22c1fd711c245d8eb86
Loading
Please register or sign in to comment