[ActivityManager] Fix the inconsistence between ProcessRecord and BroadcastQueues
Symptom:
Even though one process is executing one BroadcastReceiver,
it may be killed as one EMPTY process occasionally
Detail and sample:
https://code.google.com/p/android/issues/detail?id=221524
Root cause:
app.curReceiver can only remember the last running.
If an application is both receiving FG and BG broadcast,
when one is finished, app.curReceiver becomes null,
the state of application becomes EMPTY.
Solution:
save all running receivers at ProcessRecord
Change-Id: I01b8813af652a8c434be7de0678dc06f99831ae0
Signed-off-by: yangzhenyu <yangzhenyu@xiaomi.com>
3 files changed