Android kill Launcher 3次后黑屏

简介: Android kill Launcher 3次后黑屏

平台


rk3288 + android 5.11


问题


在adb shell中, 连续调用3次kill Launcher后, Launcher无法正常显示.

关键LOG:


01-01 20:14:27.738 W/ActivityManagerService(  475): Force removing ActivityRecord{323bcec9 u0 com.android.launcher3/.Launcher t1}: app died, no saved state


分析:


一个关键的计数: launchCount


|-- frameworks/base/services/core/java/com/android/server/am/ActivityRecord.java


int launchCount;        // count of launches since last state


|-- frameworks/base/services/core/java/com/android/server/am/ActivityStack.java


boolean removeHistoryRecordsForAppLocked(ProcessRecord app) {
    //判断是否已经尝试启动2次以上
      } else if (r.launchCount > 2 &&
                            r.lastLaunchTime > (SystemClock.uptimeMillis()-60000)) {
                        // We have launched this activity too many times since it was
                        // able to run, so give up and remove it.
                        remove = true;
                    }
      ...
      //LOG 输出的地方:
      Slog.w(TAG, "Force removing " + r + ": app died, no saved state");
                            EventLog.writeEvent(EventLogTags.AM_FINISH_ACTIVITY,
                                    r.userId, System.identityHashCode(r),
                                    r.task.taskId, r.shortComponentName,
                                    "proc died without state saved");
  }
    final void activityStoppedLocked(ActivityRecord r, Bundle icicle,
            PersistableBundle persistentState, CharSequence description) {
    ...
    //正常退出后清0
            r.launchCount = 0;
        }


|-- frameworks/base/services/core/java/com/android/server/am/ActivityStackSupervisor.java


final boolean realStartActivityLocked(ActivityRecord r,
           ProcessRecord app, boolean andResume, boolean checkConfig)
           throws RemoteException {
    //启动一次自加1
    r.launchCount++;
   }


相关文章
|
3天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
18 0
|
10月前
|
Java Android开发
Launcher点击图标启动App流程分析(基于Android N)2
Launcher点击图标启动App流程分析(基于Android N)2
104 0
|
10月前
|
监控 Java Android开发
Launcher点击图标启动App流程分析(基于Android N)1
Launcher点击图标启动App流程分析(基于Android N)
77 0
|
缓存 数据库 Android开发
|
XML 存储 搜索推荐
|
开发工具 Android开发
Android 11 替换Launcher后导致近期任务无效
Android 11 替换Launcher后导致近期任务无效
475 0
Android 11 替换Launcher后导致近期任务无效
|
Java 开发工具 Android开发
RK3128 Android 7 BOX SDK 应用无法接收广播自启 + 眠休不黑屏问题
RK3128 Android 7 BOX SDK 应用无法接收广播自启 + 眠休不黑屏问题
388 0
|
Java Android开发
Android 7.1设置默认Launcher重启后失效(需手动选择)
Android 7.1设置默认Launcher重启后失效(需手动选择)
332 0
|
Java Android开发
android 7.1 缺少设置directBootAware导致无法启动指定Launcher
android 7.1 缺少设置directBootAware导致无法启动指定Launcher
458 0
|
机器学习/深度学习 Android开发 Java
android 修改默认Launcher
android 修改默认Launcher
482 0