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

Commit c6de36e6 authored by Tim Murray's avatar Tim Murray
Browse files

ActivityManagerConstants: use min MCP for TRIM_EMPTY limits

With a high default MCP, it no longer makes sense to use the default
MCP as the trim limit. This could be causing problems on emulators.

Test: lower TRIM_EMPTY_PROCESSES with 1024 default MCP and 32 set MCP
Bug: 276751141
Change-Id: Ia4e0f127078150b0dd0bea17acf22a1ed5304d80
parent bd120ea8
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -1302,6 +1302,13 @@ final class ActivityManagerConstants extends ContentObserver {
                com.android.internal.R.integer.config_customizedMaxCachedProcesses);
        CUR_MAX_CACHED_PROCESSES = mCustomizedMaxCachedProcesses;
        CUR_MAX_EMPTY_PROCESSES = computeEmptyProcessLimit(CUR_MAX_CACHED_PROCESSES);

        final int rawMaxEmptyProcesses = computeEmptyProcessLimit(
                Integer.min(CUR_MAX_CACHED_PROCESSES, MAX_CACHED_PROCESSES));
        CUR_TRIM_EMPTY_PROCESSES = rawMaxEmptyProcesses / 2;
        CUR_TRIM_CACHED_PROCESSES = (Integer.min(CUR_MAX_CACHED_PROCESSES, MAX_CACHED_PROCESSES)
                    - rawMaxEmptyProcesses) / 3;

    }

    public void start(ContentResolver resolver) {
@@ -1867,12 +1874,11 @@ final class ActivityManagerConstants extends ContentObserver {
        }
        CUR_MAX_EMPTY_PROCESSES = computeEmptyProcessLimit(CUR_MAX_CACHED_PROCESSES);

        // Note the trim levels do NOT depend on the override process limit, we want
        // to consider the same level the point where we do trimming regardless of any
        // additional enforced limit.
        final int rawMaxEmptyProcesses = computeEmptyProcessLimit(MAX_CACHED_PROCESSES);
        final int rawMaxEmptyProcesses = computeEmptyProcessLimit(
                Integer.min(CUR_MAX_CACHED_PROCESSES, MAX_CACHED_PROCESSES));
        CUR_TRIM_EMPTY_PROCESSES = rawMaxEmptyProcesses / 2;
        CUR_TRIM_CACHED_PROCESSES = (MAX_CACHED_PROCESSES-rawMaxEmptyProcesses)/3;
        CUR_TRIM_CACHED_PROCESSES = (Integer.min(CUR_MAX_CACHED_PROCESSES, MAX_CACHED_PROCESSES)
                    - rawMaxEmptyProcesses) / 3;
    }

    private void updateProactiveKillsEnabled() {