Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d8a6889 authored by Marco Ballesio's avatar Marco Ballesio Committed by Android (Google) Code Review
Browse files

Merge "Rename AppCompactor to CachedAppOptimizer"

parents c24d678c 7c786822
Loading
Loading
Loading
Loading
+15 −15
Original line number Original line Diff line number Diff line
@@ -3066,18 +3066,18 @@ HSPLcom/android/server/am/ActivityManagerShellCommand;->runSendBroadcast(Ljava/i
HSPLcom/android/server/am/AppBindRecord;->dumpInIntentBind(Ljava/io/PrintWriter;Ljava/lang/String;)V
HSPLcom/android/server/am/AppBindRecord;->dumpInIntentBind(Ljava/io/PrintWriter;Ljava/lang/String;)V
PLcom/android/server/am/AppBindRecord;->toString()Ljava/lang/String;
PLcom/android/server/am/AppBindRecord;->toString()Ljava/lang/String;
PLcom/android/server/am/AppBindRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
PLcom/android/server/am/AppBindRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
PLcom/android/server/am/AppCompactor$1;->onPropertyChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/am/CachedAppOptimizer$1;->onPropertyChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLcom/android/server/am/AppCompactor$MemCompactionHandler;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/server/am/AppCompactor;-><init>(Lcom/android/server/am/ActivityManagerService;)V
HSPLcom/android/server/am/CachedAppOptimizer;-><init>(Lcom/android/server/am/ActivityManagerService;)V
HSPLcom/android/server/am/AppCompactor;->access$1000(Lcom/android/server/am/AppCompactor;)V
HSPLcom/android/server/am/CachedAppOptimizer;->access$1000(Lcom/android/server/am/CachedAppOptimizer;)V
HSPLcom/android/server/am/AppCompactor;->access$700(Lcom/android/server/am/AppCompactor;)Lcom/android/server/am/ActivityManagerService;
HSPLcom/android/server/am/CachedAppOptimizer;->access$700(Lcom/android/server/am/CachedAppOptimizer;)Lcom/android/server/am/ActivityManagerService;
HSPLcom/android/server/am/AppCompactor;->access$800(Lcom/android/server/am/AppCompactor;)Ljava/util/ArrayList;
HSPLcom/android/server/am/CachedAppOptimizer;->access$800(Lcom/android/server/am/CachedAppOptimizer;)Ljava/util/ArrayList;
HSPLcom/android/server/am/AppCompactor;->access$900(Lcom/android/server/am/AppCompactor;)Ljava/util/Random;
HSPLcom/android/server/am/CachedAppOptimizer;->access$900(Lcom/android/server/am/CachedAppOptimizer;)Ljava/util/Random;
PLcom/android/server/am/AppCompactor;->dump(Ljava/io/PrintWriter;)V
PLcom/android/server/am/CachedAppOptimizer;->dump(Ljava/io/PrintWriter;)V
HSPLcom/android/server/am/AppCompactor;->init()V
HSPLcom/android/server/am/CachedAppOptimizer;->init()V
HSPLcom/android/server/am/AppCompactor;->updateCompactionThrottles()V
HSPLcom/android/server/am/CachedAppOptimizer;->updateCompactionThrottles()V
HSPLcom/android/server/am/AppCompactor;->updateUseCompaction()V
HSPLcom/android/server/am/CachedAppOptimizer;->updateUseCompaction()V
HSPLcom/android/server/am/AppCompactor;->useCompaction()Z
HSPLcom/android/server/am/CachedAppOptimizer;->useCompaction()Z
PLcom/android/server/am/AppErrorDialog$1;->handleMessage(Landroid/os/Message;)V
PLcom/android/server/am/AppErrorDialog$1;->handleMessage(Landroid/os/Message;)V
PLcom/android/server/am/AppErrorDialog;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/AppErrorDialog$Data;)V
PLcom/android/server/am/AppErrorDialog;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/AppErrorDialog$Data;)V
PLcom/android/server/am/AppErrorDialog;->onClick(Landroid/view/View;)V
PLcom/android/server/am/AppErrorDialog;->onClick(Landroid/view/View;)V
@@ -18632,9 +18632,9 @@ Lcom/android/server/am/ActivityManagerService$UiHandler;
Lcom/android/server/am/ActivityManagerService$UidObserverRegistration;
Lcom/android/server/am/ActivityManagerService$UidObserverRegistration;
Lcom/android/server/am/ActivityManagerService;
Lcom/android/server/am/ActivityManagerService;
Lcom/android/server/am/AppBindRecord;
Lcom/android/server/am/AppBindRecord;
Lcom/android/server/am/AppCompactor$1;
Lcom/android/server/am/CachedAppOptimizer$1;
Lcom/android/server/am/AppCompactor$MemCompactionHandler;
Lcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;
Lcom/android/server/am/AppCompactor;
Lcom/android/server/am/CachedAppOptimizer;
Lcom/android/server/am/AppErrorDialog$Data;
Lcom/android/server/am/AppErrorDialog$Data;
Lcom/android/server/am/AppErrorResult;
Lcom/android/server/am/AppErrorResult;
Lcom/android/server/am/AppErrors$BadProcessInfo;
Lcom/android/server/am/AppErrors$BadProcessInfo;
+1 −1
Original line number Original line Diff line number Diff line
@@ -538,7 +538,7 @@ Lcom/android/server/wm/WindowProcessController;->setCurrentProcState(I)V
Lcom/android/server/am/ActivityManagerService;->updateLowMemStateLocked(III)Z
Lcom/android/server/am/ActivityManagerService;->updateLowMemStateLocked(III)Z
Lcom/android/server/wm/ConfigurationContainer;->getWindowConfiguration()Landroid/app/WindowConfiguration;
Lcom/android/server/wm/ConfigurationContainer;->getWindowConfiguration()Landroid/app/WindowConfiguration;
Lcom/android/server/am/OomAdjuster;->applyOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZJJ)Z
Lcom/android/server/am/OomAdjuster;->applyOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZJJ)Z
Lcom/android/server/am/AppCompactor;->useCompaction()Z
Lcom/android/server/am/CachedAppOptimizer;->useCompaction()Z
Lcom/android/server/am/ProcessList;->procStatesDifferForMem(II)Z
Lcom/android/server/am/ProcessList;->procStatesDifferForMem(II)Z
Lcom/android/server/am/ActivityManagerService;->dispatchUidsChanged()V
Lcom/android/server/am/ActivityManagerService;->dispatchUidsChanged()V
Lcom/android/server/audio/AudioService$VolumeStreamState;->setIndex(IILjava/lang/String;)Z
Lcom/android/server/audio/AudioService$VolumeStreamState;->setIndex(IILjava/lang/String;)Z
+5 −5
Original line number Original line Diff line number Diff line
@@ -2555,7 +2555,7 @@ public class ActivityManagerService extends IActivityManager.Stub
            Process.setThreadGroupAndCpuset(BackgroundThread.get().getThreadId(),
            Process.setThreadGroupAndCpuset(BackgroundThread.get().getThreadId(),
                    Process.THREAD_GROUP_SYSTEM);
                    Process.THREAD_GROUP_SYSTEM);
            Process.setThreadGroupAndCpuset(
            Process.setThreadGroupAndCpuset(
                    mOomAdjuster.mAppCompact.mCompactionThread.getThreadId(),
                    mOomAdjuster.mCachedAppOptimizer.mCachedAppOptimizerThread.getThreadId(),
                    Process.THREAD_GROUP_SYSTEM);
                    Process.THREAD_GROUP_SYSTEM);
        } catch (Exception e) {
        } catch (Exception e) {
            Slog.w(TAG, "Setting background thread cpuset failed");
            Slog.w(TAG, "Setting background thread cpuset failed");
@@ -5304,7 +5304,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                                String data, Bundle extras, boolean ordered,
                                String data, Bundle extras, boolean ordered,
                                boolean sticky, int sendingUser) {
                                boolean sticky, int sendingUser) {
                            synchronized (ActivityManagerService.this) {
                            synchronized (ActivityManagerService.this) {
                                mOomAdjuster.mAppCompact.compactAllSystem();
                                mOomAdjuster.mCachedAppOptimizer.compactAllSystem();
                                requestPssAllProcsLocked(SystemClock.uptimeMillis(), true, false);
                                requestPssAllProcsLocked(SystemClock.uptimeMillis(), true, false);
                            }
                            }
                        }
                        }
@@ -9000,7 +9000,7 @@ public class ActivityManagerService extends IActivityManager.Stub
            final long timeSinceLastIdle = now - mLastIdleTime;
            final long timeSinceLastIdle = now - mLastIdleTime;
            // Compact all non-zygote processes to freshen up the page cache.
            // Compact all non-zygote processes to freshen up the page cache.
            mOomAdjuster.mAppCompact.compactAllSystem();
            mOomAdjuster.mCachedAppOptimizer.compactAllSystem();
            final long lowRamSinceLastIdle = getLowRamTimeSinceIdle(now);
            final long lowRamSinceLastIdle = getLowRamTimeSinceIdle(now);
            mLastIdleTime = now;
            mLastIdleTime = now;
@@ -10021,7 +10021,7 @@ public class ActivityManagerService extends IActivityManager.Stub
        synchronized(this) {
        synchronized(this) {
            mConstants.dump(pw);
            mConstants.dump(pw);
            mOomAdjuster.dumpAppCompactorSettings(pw);
            mOomAdjuster.dumpCachedAppOptimizerSettings(pw);
            pw.println();
            pw.println();
            if (dumpAll) {
            if (dumpAll) {
                pw.println("-------------------------------------------------------------------------------");
                pw.println("-------------------------------------------------------------------------------");
@@ -10426,7 +10426,7 @@ public class ActivityManagerService extends IActivityManager.Stub
            } else if ("settings".equals(cmd)) {
            } else if ("settings".equals(cmd)) {
                synchronized (this) {
                synchronized (this) {
                    mConstants.dump(pw);
                    mConstants.dump(pw);
                    mOomAdjuster.dumpAppCompactorSettings(pw);
                    mOomAdjuster.dumpCachedAppOptimizerSettings(pw);
                }
                }
            } else if ("services".equals(cmd) || "s".equals(cmd)) {
            } else if ("services".equals(cmd) || "s".equals(cmd)) {
                if (dumpClient) {
                if (dumpClient) {
+12 −12
Original line number Original line Diff line number Diff line
@@ -51,7 +51,7 @@ import java.util.Map;
import java.util.Random;
import java.util.Random;
import java.util.Set;
import java.util.Set;


public final class AppCompactor {
public final class CachedAppOptimizer {


    // Flags stored in the DeviceConfig API.
    // Flags stored in the DeviceConfig API.
    @VisibleForTesting static final String KEY_USE_COMPACTION = "use_compaction";
    @VisibleForTesting static final String KEY_USE_COMPACTION = "use_compaction";
@@ -122,7 +122,7 @@ public final class AppCompactor {
     * that will wipe out the cpuset assignment for system_server threads.
     * that will wipe out the cpuset assignment for system_server threads.
     * Accordingly, this is in the AMS constructor.
     * Accordingly, this is in the AMS constructor.
     */
     */
    final ServiceThread mCompactionThread;
    final ServiceThread mCachedAppOptimizerThread;


    private final ArrayList<ProcessRecord> mPendingCompactionProcesses =
    private final ArrayList<ProcessRecord> mPendingCompactionProcesses =
            new ArrayList<ProcessRecord>();
            new ArrayList<ProcessRecord>();
@@ -214,15 +214,15 @@ public final class AppCompactor {
    private int mPersistentCompactionCount;
    private int mPersistentCompactionCount;
    private int mBfgsCompactionCount;
    private int mBfgsCompactionCount;


    public AppCompactor(ActivityManagerService am) {
    public CachedAppOptimizer(ActivityManagerService am) {
        mAm = am;
        mAm = am;
        mCompactionThread = new ServiceThread("CompactionThread",
        mCachedAppOptimizerThread = new ServiceThread("CachedAppOptimizerThread",
                THREAD_PRIORITY_FOREGROUND, true);
                THREAD_PRIORITY_FOREGROUND, true);
        mProcStateThrottle = new HashSet<>();
        mProcStateThrottle = new HashSet<>();
    }
    }


    @VisibleForTesting
    @VisibleForTesting
    AppCompactor(ActivityManagerService am, PropertyChangedCallbackForTest callback) {
    CachedAppOptimizer(ActivityManagerService am, PropertyChangedCallbackForTest callback) {
        this(am);
        this(am);
        mTestCallback = callback;
        mTestCallback = callback;
    }
    }
@@ -243,7 +243,7 @@ public final class AppCompactor {
            updateFullDeltaRssThrottle();
            updateFullDeltaRssThrottle();
            updateProcStateThrottle();
            updateProcStateThrottle();
        }
        }
        Process.setThreadGroupAndCpuset(mCompactionThread.getThreadId(),
        Process.setThreadGroupAndCpuset(mCachedAppOptimizerThread.getThreadId(),
                Process.THREAD_GROUP_SYSTEM);
                Process.THREAD_GROUP_SYSTEM);
    }
    }


@@ -258,7 +258,7 @@ public final class AppCompactor {


    @GuardedBy("mAm")
    @GuardedBy("mAm")
    void dump(PrintWriter pw) {
    void dump(PrintWriter pw) {
        pw.println("AppCompactor settings");
        pw.println("CachedAppOptimizer settings");
        synchronized (mPhenotypeFlagLock) {
        synchronized (mPhenotypeFlagLock) {
            pw.println("  " + KEY_USE_COMPACTION + "=" + mUseCompaction);
            pw.println("  " + KEY_USE_COMPACTION + "=" + mUseCompaction);
            pw.println("  " + KEY_COMPACT_ACTION_1 + "=" + mCompactActionSome);
            pw.println("  " + KEY_COMPACT_ACTION_1 + "=" + mCompactActionSome);
@@ -362,8 +362,8 @@ public final class AppCompactor {
    private void updateUseCompaction() {
    private void updateUseCompaction() {
        mUseCompaction = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
        mUseCompaction = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
                    KEY_USE_COMPACTION, DEFAULT_USE_COMPACTION);
                    KEY_USE_COMPACTION, DEFAULT_USE_COMPACTION);
        if (mUseCompaction && !mCompactionThread.isAlive()) {
        if (mUseCompaction && !mCachedAppOptimizerThread.isAlive()) {
            mCompactionThread.start();
            mCachedAppOptimizerThread.start();
            mCompactionHandler = new MemCompactionHandler();
            mCompactionHandler = new MemCompactionHandler();
        }
        }
    }
    }
@@ -521,7 +521,7 @@ public final class AppCompactor {


    private final class MemCompactionHandler extends Handler {
    private final class MemCompactionHandler extends Handler {
        private MemCompactionHandler() {
        private MemCompactionHandler() {
            super(mCompactionThread.getLooper());
            super(mCachedAppOptimizerThread.getLooper());
        }
        }


        @Override
        @Override
+14 −14
Original line number Original line Diff line number Diff line
@@ -122,9 +122,9 @@ public final class OomAdjuster {
    PowerManagerInternal mLocalPowerManager;
    PowerManagerInternal mLocalPowerManager;


    /**
    /**
     * Service for compacting background apps.
     * Service for optimizing resource usage from background apps.
     */
     */
    AppCompactor mAppCompact;
    CachedAppOptimizer mCachedAppOptimizer;


    ActivityManagerConstants mConstants;
    ActivityManagerConstants mConstants;


@@ -197,7 +197,7 @@ public final class OomAdjuster {


        mLocalPowerManager = LocalServices.getService(PowerManagerInternal.class);
        mLocalPowerManager = LocalServices.getService(PowerManagerInternal.class);
        mConstants = mService.mConstants;
        mConstants = mService.mConstants;
        mAppCompact = new AppCompactor(mService);
        mCachedAppOptimizer = new CachedAppOptimizer(mService);


        mProcessGroupHandler = new Handler(adjusterThread.getLooper(), msg -> {
        mProcessGroupHandler = new Handler(adjusterThread.getLooper(), msg -> {
            final int pid = msg.arg1;
            final int pid = msg.arg1;
@@ -224,7 +224,7 @@ public final class OomAdjuster {
    }
    }


    void initSettings() {
    void initSettings() {
        mAppCompact.init();
        mCachedAppOptimizer.init();
    }
    }


    /**
    /**
@@ -1978,7 +1978,7 @@ public final class OomAdjuster {
        int changes = 0;
        int changes = 0;


        // don't compact during bootup
        // don't compact during bootup
        if (mAppCompact.useCompaction() && mService.mBooted) {
        if (mCachedAppOptimizer.useCompaction() && mService.mBooted) {
            // Cached and prev/home compaction
            // Cached and prev/home compaction
            if (app.curAdj != app.setAdj) {
            if (app.curAdj != app.setAdj) {
                // Perform a minor compaction when a perceptible app becomes the prev/home app
                // Perform a minor compaction when a perceptible app becomes the prev/home app
@@ -1987,26 +1987,26 @@ public final class OomAdjuster {
                if (app.setAdj <= ProcessList.PERCEPTIBLE_APP_ADJ &&
                if (app.setAdj <= ProcessList.PERCEPTIBLE_APP_ADJ &&
                        (app.curAdj == ProcessList.PREVIOUS_APP_ADJ ||
                        (app.curAdj == ProcessList.PREVIOUS_APP_ADJ ||
                                app.curAdj == ProcessList.HOME_APP_ADJ)) {
                                app.curAdj == ProcessList.HOME_APP_ADJ)) {
                    mAppCompact.compactAppSome(app);
                    mCachedAppOptimizer.compactAppSome(app);
                } else if ((app.setAdj < ProcessList.CACHED_APP_MIN_ADJ
                } else if ((app.setAdj < ProcessList.CACHED_APP_MIN_ADJ
                                || app.setAdj > ProcessList.CACHED_APP_MAX_ADJ)
                                || app.setAdj > ProcessList.CACHED_APP_MAX_ADJ)
                        && app.curAdj >= ProcessList.CACHED_APP_MIN_ADJ
                        && app.curAdj >= ProcessList.CACHED_APP_MIN_ADJ
                        && app.curAdj <= ProcessList.CACHED_APP_MAX_ADJ) {
                        && app.curAdj <= ProcessList.CACHED_APP_MAX_ADJ) {
                    mAppCompact.compactAppFull(app);
                    mCachedAppOptimizer.compactAppFull(app);
                }
                }
            } else if (mService.mWakefulness != PowerManagerInternal.WAKEFULNESS_AWAKE
            } else if (mService.mWakefulness != PowerManagerInternal.WAKEFULNESS_AWAKE
                    && app.setAdj < ProcessList.FOREGROUND_APP_ADJ
                    && app.setAdj < ProcessList.FOREGROUND_APP_ADJ
                    // Because these can fire independent of oom_adj/procstate changes, we need
                    // Because these can fire independent of oom_adj/procstate changes, we need
                    // to throttle the actual dispatch of these requests in addition to the
                    // to throttle the actual dispatch of these requests in addition to the
                    // processing of the requests. As a result, there is throttling both here
                    // processing of the requests. As a result, there is throttling both here
                    // and in AppCompactor.
                    // and in CachedAppOptimizer.
                    && mAppCompact.shouldCompactPersistent(app, now)) {
                    && mCachedAppOptimizer.shouldCompactPersistent(app, now)) {
                mAppCompact.compactAppPersistent(app);
                mCachedAppOptimizer.compactAppPersistent(app);
            } else if (mService.mWakefulness != PowerManagerInternal.WAKEFULNESS_AWAKE
            } else if (mService.mWakefulness != PowerManagerInternal.WAKEFULNESS_AWAKE
                    && app.getCurProcState()
                    && app.getCurProcState()
                        == ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE
                        == ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE
                    && mAppCompact.shouldCompactBFGS(app, now)) {
                    && mCachedAppOptimizer.shouldCompactBFGS(app, now)) {
                mAppCompact.compactAppBfgs(app);
                mCachedAppOptimizer.compactAppBfgs(app);
            }
            }
        }
        }


@@ -2439,7 +2439,7 @@ public final class OomAdjuster {
    }
    }


    @GuardedBy("mService")
    @GuardedBy("mService")
    void dumpAppCompactorSettings(PrintWriter pw) {
    void dumpCachedAppOptimizerSettings(PrintWriter pw) {
        mAppCompact.dump(pw);
        mCachedAppOptimizer.dump(pw);
    }
    }
}
}
Loading