lowmemerykiller参数表

OomMinFreeLow:

// These are the low-end OOM level limits.  This is appropriate for an
// HVGA or smaller phone with less than 512MB.  Values are in KB.
private final int[] mOomMinFreeLow = new int[] {
        12288, 18432, 24576,
        36864, 43008, 49152
};

OomMinFreeHigh:

// These are the high-end OOM level limits.  This is appropriate for a
// 1280x800 or larger screen with around 1GB RAM.  Values are in KB.
private final int[] mOomMinFreeHigh = new int[] {
        73728, 92160, 110592,
        129024, 147456, 184320
};

OomMinFree列是通过算法计算的:

for (int i = 0; i < mOomAdj.length; i++) {
    int low = mOomMinFreeLow[i];
    int high = mOomMinFreeHigh[i];
    if (is64bit) {
        // Increase the high min-free levels for cached processes for 64-bit
        if (i == 4) high = (high * 3) / 2;
        else if (i == 5) high = (high * 7) / 4;
    }
    mOomMinFree[i] = (int)(low + ((high - low) * scale));
}

OomMinFree4K是写到LMDK里的值,计算方法:

// Memory pages are 4K.
static final int PAGE_SIZE = 4 * 1024;
(mOomMinFree[i] * 1024)/PAGE_SIZE

OomMinFree_abs:如果设置了

config_lowMemoryKillerMinFreeKbytesAbsolute就会通过以下算法计算,表格中OomMinFree_abs是设置为645120后得到的值。
if (minfree_abs >= 0) {
    for (int i = 0; i < mOomAdj.length; i++) {
        mOomMinFree[i] = (int)((float)minfree_abs * mOomMinFree[i]
                / mOomMinFree[mOomAdj.length - 1]);
    }
}

OomMinFree_adj:如果设置了

config_lowMemoryKillerMinFreeKbytesAbsolute就会通过以下算法计算,表格中OomMinFree_adj是设置为645120后得到的值。
FOREGROUND_APP_ADJVISIBLE_APP_ADJPERCEPTIBLE_APP_ADJPERCEPTIBLE_LOW_APP_ADJCACHED_APP_MIN_ADJCACHED_APP_LMK_FIRST_ADJ
前台进程可见进程可感知进程可感知进程低adj不可见进程最小adj不可见进程最大adj
OomAdj0100200250900950
OomMinFreeLow122881843224576368644300849152
OomMinFreeHigh7372892160110592129024147456184320
OomMinFree7372892160110592129024221184322560
OomMinFree4K184322304027648322565529680640
OomMinFree_abs147456184320221184258048442368645120
OomMinFree_adj221184276480331776387072663552967680
minfree_abs645120-1
minfree_adj6451200
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值