のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

cch-empty

cch-emptyは、キャッシュエンプティかな?

I/ActivityManager: Item  :com.google.android.configupdater/u0:
 changes=2 procState=16 foreground=false type=cch-empty source=null target=null

Cross Reference: /frameworks/base/services/core/java/com/android/server/am/ProcessList.java

    367     public static String makeProcStateString(int curProcState) {
    368         String procState;
    369         switch (curProcState) {
    370             case -1:
    371                 procState = "N ";
    372                 break;
    373             case ActivityManager.PROCESS_STATE_PERSISTENT:
    374                 procState = "P ";
    375                 break;
    376             case ActivityManager.PROCESS_STATE_PERSISTENT_UI:
    377                 procState = "PU";
    378                 break;
    379             case ActivityManager.PROCESS_STATE_TOP:
    380                 procState = "T ";
    381                 break;
    382             case ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE:
    383                 procState = "SB";
    384                 break;
    385             case ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE:
    386                 procState = "SF";
    387                 break;
    388             case ActivityManager.PROCESS_STATE_TOP_SLEEPING:
    389                 procState = "TS";
    390                 break;
    391             case ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND:
    392                 procState = "IF";
    393                 break;
    394             case ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND:
    395                 procState = "IB";
    396                 break;
    397             case ActivityManager.PROCESS_STATE_BACKUP:
    398                 procState = "BU";
    399                 break;
    400             case ActivityManager.PROCESS_STATE_HEAVY_WEIGHT:
    401                 procState = "HW";
    402                 break;
    403             case ActivityManager.PROCESS_STATE_SERVICE:
    404                 procState = "S ";
    405                 break;
    406             case ActivityManager.PROCESS_STATE_RECEIVER:
    407                 procState = "R ";
    408                 break;
    409             case ActivityManager.PROCESS_STATE_HOME:
    410                 procState = "HO";
    411                 break;
    412             case ActivityManager.PROCESS_STATE_LAST_ACTIVITY:
    413                 procState = "LA";
    414                 break;
    415             case ActivityManager.PROCESS_STATE_CACHED_ACTIVITY:
    416                 procState = "CA";
    417                 break;
    418             case ActivityManager.PROCESS_STATE_CACHED_ACTIVITY_CLIENT:
    419                 procState = "Ca";
    420                 break;
    421             case ActivityManager.PROCESS_STATE_CACHED_EMPTY:
    422                 procState = "CE";
    423                 break;
    424             default:
    425                 procState = "??";
    426                 break;
    427         }
    428         return procState;
    429     }

Cross Reference: /frameworks/base/core/java/android/app/ActivityManager.java

    331     public static final int PROCESS_STATE_NONEXISTENT              = -1;
    334     public static final int PROCESS_STATE_PERSISTENT               = 0;
    337     public static final int PROCESS_STATE_PERSISTENT_UI            = 1;
    341     public static final int PROCESS_STATE_TOP                      = 2;
    344     public static final int PROCESS_STATE_BOUND_FOREGROUND_SERVICE = 3;
    347     public static final int PROCESS_STATE_FOREGROUND_SERVICE       = 4;
    350     public static final int PROCESS_STATE_TOP_SLEEPING             = 5;
    353     public static final int PROCESS_STATE_IMPORTANT_FOREGROUND     = 6;
    356     public static final int PROCESS_STATE_IMPORTANT_BACKGROUND     = 7;
    359     public static final int PROCESS_STATE_BACKUP                   = 8;
    363     public static final int PROCESS_STATE_HEAVY_WEIGHT             = 9;
    368     public static final int PROCESS_STATE_SERVICE                  = 10;
    374     public static final int PROCESS_STATE_RECEIVER                 = 11;
    377     public static final int PROCESS_STATE_HOME                     = 12;
    380     public static final int PROCESS_STATE_LAST_ACTIVITY            = 13;
    383     public static final int PROCESS_STATE_CACHED_ACTIVITY          = 14;
    387     public static final int PROCESS_STATE_CACHED_ACTIVITY_CLIENT   = 15;
    390     public static final int PROCESS_STATE_CACHED_EMPTY             = 16;

    393     public static final int MIN_PROCESS_STATE = PROCESS_STATE_NONEXISTENT;
    396     public static final int MAX_PROCESS_STATE = PROCESS_STATE_CACHED_EMPTY;

Cross Reference: /frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java

   20090     private final boolean applyOomAdjLocked(ProcessRecord app, boolean doingAll, long now,
   20091             long nowElapsed) {
  (略)
   20242         if (changes != 0) {
   20243             if (DEBUG_PROCESS_OBSERVERS) Slog.i(TAG_PROCESS_OBSERVERS,
   20244                     "Changes in " + app + ": " + changes);

Changes in ProcessRecord{cdc3319 13412:com.google.android.configupdater/u0a63}: 2

   20245             int i = mPendingProcessChanges.size()-1;
   20246             ProcessChangeItem item = null;
   20247             while (i >= 0) {
   20248                 item = mPendingProcessChanges.get(i);
   20249                 if (item.pid == app.pid) {
   20250                     if (DEBUG_PROCESS_OBSERVERS) Slog.i(TAG_PROCESS_OBSERVERS,
   20251                             "Re-using existing item: " + item);
   20252                     break;
   20253                 }
   20254                 i--;
   20255             }
   20256             if (i < 0) {
   20257                 // No existing item in pending changes; need a new one.
   20258                 final int NA = mAvailProcessChanges.size();
   20259                 if (NA > 0) {
   20260                     item = mAvailProcessChanges.remove(NA-1);
   20261                     if (DEBUG_PROCESS_OBSERVERS) Slog.i(TAG_PROCESS_OBSERVERS,
   20262                             "Retrieving available item: " + item);
   20263                 } else {
   20264                     item = new ProcessChangeItem();
   20265                     if (DEBUG_PROCESS_OBSERVERS) Slog.i(TAG_PROCESS_OBSERVERS,
   20266                             "Allocating new item: " + item);
   20267                 }
   20268                 item.changes = 0;
   20269                 item.pid = app.pid;
   20270                 item.uid = app.info.uid;
   20271                 if (mPendingProcessChanges.size() == 0) {
   20272                     if (DEBUG_PROCESS_OBSERVERS) Slog.i(TAG_PROCESS_OBSERVERS,
   20273                             "*** Enqueueing dispatch processes changed!");
   20274                     mUiHandler.obtainMessage(DISPATCH_PROCESSES_CHANGED_UI_MSG).sendToTarget();
   20275                 }
   20276                 mPendingProcessChanges.add(item);
   20277             }
   20278             item.changes |= changes;
   20279             item.processState = app.repProcState;
   20280             item.foregroundActivities = app.repForegroundActivities;
   20281             if (DEBUG_PROCESS_OBSERVERS) Slog.i(TAG_PROCESS_OBSERVERS,
   20282                     "Item " + Integer.toHexString(System.identityHashCode(item))
   20283                     + " " + app.toShortString() + ": changes=" + item.changes
   20284                     + " procState=" + item.processState
   20285                     + " foreground=" + item.foregroundActivities               <=========この辺
   20286                     + " type=" + app.adjType + " source=" + app.adjSource
   20287                     + " target=" + app.adjTarget);
   20288         }
   20289 
   20290         return success;
   20291     }