[ActivityManager] Avoid mistaking visibility by finishing task.
Sympton: Next activity only adds to history but does not launch/resume then results ANR. Root Cause: In a rare timing, some windows are switched at the same time, it will cause some finishing records on the top temporarily, then set startIt to false that skip to resume the real top activty. Solution: If all activities in a task are finishing, do not use it to check. The behavior/checking is the same concept as in JellyBean: // If starting in an existing task, find where that is... boolean startIt = true; for (int i = NH-1; i >= 0; i--) { ActivityRecord p = mHistory.get(i); if (p.finishing) { // <-- continue; } Change-Id: I9d81a7b5182400c52e173da23eee61c74692beee
Loading
Please register or sign in to comment