在 frameworks/base/core/java/android/os/storage/StorageManager.java 中郑藏,
/**
* Return the number of available bytes at which the given path is
* considered running low on storage.
*
* @hide
*/
public long getStorageLowBytes(File path) {
final long lowPercent = Settings.Global.getInt(mResolver,
Settings.Global.SYS_STORAGE_THRESHOLD_PERCENTAGE, DEFAULT_THRESHOLD_PERCENTAGE);
final long lowBytes = (path.getTotalSpace() * lowPercent) / 100;
final long maxLowBytes = Settings.Global.getLong(mResolver,
Settings.Global.SYS_STORAGE_THRESHOLD_MAX_BYTES, DEFAULT_THRESHOLD_MAX_BYTES);
return Math.min(lowBytes, maxLowBytes);
}
通過(guò)getStorageLowBytes()方法獲取低內(nèi)存不足提醒的閥值。該方法是取lowBytes 和 maxLowBytes 中的較小值矾芙。
private static final int DEFAULT_THRESHOLD_PERCENTAGE = 5;
private static final long DEFAULT_THRESHOLD_MAX_BYTES = 500 * MB_IN_BYTES;
在StorageManager.java 中可以看到 這兩個(gè)值的定義脖岛,所以是取內(nèi)存的5% 和 500MB 中的較小值作為存儲(chǔ)空間不足 提醒的閥值朵栖。