Recently, a project testing department tested very carefully, including the application of the Google GMS package. They mentioned case, saying that Chrome applications occasionally flip back in the process of use, which was not too ambitious, because Chrome is an application in the Google GMS package, we have no source code, and we can't solve the problem of Chrome itself if it turns out to be. Shortly afterwards, they mentioned case that Gmail would also flip. This has caused attention, not so coincidental Google applications are prone to flicker, it must be what causes. So we started to analyze log.
When I first saw the log, I had no clue at all. When I looked at the log at a given time, I focused on the log at 10:08, for example, when the tester feedback said that there was a flicker. As a result, I only saw this kind of log, which was not helpful to the progress of the problem. I don't know why:
WindowManager: WIN DEATH: Window{b314877 u0 com.android.chrome/com.google.android.apps.chrome.Main}
Later, I began to sort it out slowly and moved up and down for a few minutes. As a matter of fact, I found the problem. The following is the analysis idea:
1. It can be seen from Log that gms is downloaded at 10:06:00:00.
05-10 10:06:24.495 12190 12190 I Finsky : [2] com.google.android.finsky.download.e.a(50): Duplicate state set for 'com.google.android.gms' (0). Already in that state 05-10 10:06:24.496 12190 12190 I Finsky : [2] com.google.android.finsky.download.n.a(27): Download com.google.android.gms added to DownloadQueue 05-10 10:06:24.498 12190 12190 I Finsky : [2] com.google.android.finsky.download.e.a(51): com.google.android.gms from 0 to 1. 05-10 10:06:24.509 12190 12250 I Finsky : [251] com.google.android.finsky.cu.e.a(95): Created session 954684346 for com.google.android.apps.docs 05-10 10:06:24.526 12190 12190 I Finsky : [2] com.google.android.finsky.download.w.a(34): Download com.google.android.gms starting 05-10 10:06:24.586 12190 12190 I Finsky : [2] com.google.android.finsky.download.u.onPostExecute(7): Enqueued com.google.android.gms as content://downloads/my_downloads/46 05-10 10:06:24.587 12190 12190 I Finsky : [2] com.google.android.finsky.download.e.a(51): com.google.android.gms from 1 to 2. 05-10 10:06:24.588 12190 12190 I Finsky : [2] com.google.android.finsky.download.n.g(154): com.google.android.gms: onStart
2. Download at 10:10:00:
05-10 10:10:03.268 12190 12190 I Finsky : [2] com.google.android.finsky.download.n.e(143): com.google.android.gms: onComplete
3. Prepare to install gms at 10:11:
05-10 10:11:13.999 12190 12190 I Finsky : [2] com.google.android.finsky.installer.a.aw.c(570): Begin install of com.google.android.gms (isid: HeGkEJgeTWiSq2f2sB6uLg)
4. In the process of installation, it is necessary to stop the application process of installation and the process related to it.
At 10:11:15.109, the application began to stop. Because GMS applications such as Chrome, Calendar, Music and so on are closely related to GMS, they need to be killed. Generally speaking, updating GMS (that is, gmscore, basic GMS applications will be used) or Chrome (mainly to provide webview, GMS applications will be used), will kill the relevant applications.
05-10 10:11:15.109 2446 2466 I ActivityManager: Force stopping com.google.android.gms appid=10035 user=-1: installPackageLI
We can also see kill YouTobe in the log:
05-10 10:11:15.120 2446 2466 I ActivityManager: Killing 20640:com.google.android.youtube/u0a96 (adj 901): stop com.google.android.gms 05-10 10:11:15.120 2446 2466 I am_kill : [0,20640,com.google.android.youtube,901,stop com.google.android.gms]
Killed Music:
05-10 10:11:15.659 2446 2466 I ActivityManager: Killing 14049:com.google.android.music:main/u0a80 (adj 900): stop com.google.android.gms
Killed Calendar:
05-10 10:11:15.669 2446 2466 I ActivityManager: Killing 14369:com.google.android.calendar/u0a64 (adj 902): stop com.google.android.gms
Killed Chrome:
05-10 10:11:15.683 2446 2466 I ActivityManager: Killing 12758:com.android.chrome:sandboxed_process0/u0a35i33 (adj 0): isolated not needed 05-10 10:11:15.683 2446 2466 I am_kill : [0,12758,com.android.chrome:sandboxed_process0,0,isolated not needed] 05-10 10:11:15.706 2446 3122 I am_proc_died: [0,12758,com.android.chrome:sandboxed_process0,0,11]
5. From the logs, we can know that this time is due to Google Play updating the application gms and killing the application chrome music calendar youtobe and so on actively, leading to the Chrome browser flicker, which belongs to the normal logic.