gpt4 book ai didi

android - ActivityManagerCompat.isLowRamDevice 没用,总是返回 false

转载 作者:太空狗 更新时间:2023-10-29 16:13:00 31 4
gpt4 key购买 nike

我想为我的应用程序使用辅助方法 isLowRamDevice,它可以流式传输视频。由于我支持 API 级别 15 以下的设备,因此我不得不使用 ActivityManagerCompat.isLowRamDevice()。我真的很困惑,它总是返回 false,即使我使用的是非常旧的设备。然后我检查了方法本身并看到了这个:

    public static boolean isLowRamDevice(@NonNull ActivityManager am) {
if (Build.VERSION.SDK_INT >= 19) {
return ActivityManagerCompatKitKat.isLowRamDevice(am);
}
return false;
}

难怪它在我的 Android 4.0.4 设备上总是返回 false。但对我来说,这完全没有意义。还是我遗漏了什么?

最佳答案

So no wonder it always returns false

它并不总是返回false

在运行 Android 4.3 或更早版本的设备上,它将始终返回 false。这是因为当时不存在低 RAM 设备的系统标志。

在运行 Android 4.4 或更高版本的设备上,它将返回系统标志的值,以确定这是否是低 RAM 设备:

/**
* Returns true if this is a low-RAM device. Exactly whether a device is low-RAM
* is ultimately up to the device configuration, but currently it generally means
* something in the class of a 512MB device with about a 800x480 or less screen.
* This is mostly intended to be used by apps to determine whether they should turn
* off certain features that require more RAM.
*/
public boolean isLowRamDevice() {
return isLowRamDeviceStatic();
}

/** @hide */
public static boolean isLowRamDeviceStatic() {
return "true".equals(SystemProperties.get("ro.config.low_ram", "false"));
}

(来自 the ActivityManager source code)

据我所知,低 RAM 设备大多是 Android One设备。根据您获得设备的位置,您可能不会遇到其中任何一种设备。

关于android - ActivityManagerCompat.isLowRamDevice 没用,总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39036411/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com