是的,从Android 11开始,Android操作系统支持根据屏幕硬件能力调整刷新率。通过使用以下代码,您可以获取设备支持的可用刷新率列表,并在运行时适应屏幕刷新率:
DisplayManager displayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
if (displayManager != null) {
    Display[] displays = displayManager.getDisplays();
    for (Display display : displays) {
        float refreshRate = display.getRefreshRate();
        Log.d(TAG, "refresh rate: " + refreshRate);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            float[] supportedRefreshRates = display.getSupportedRefreshRates();
            Log.d(TAG, "supported refresh rates: " + Arrays.toString(supportedRefreshRates));
        }
    }
}
在获取Display对象后,您可以使用getRefreshRate()方法获取当前屏幕的刷新率。对于支持多个刷新率的设备,getSupportedRefreshRates()方法可用于获取设备支持的刷新率列表。使用setDisplayMode(int mode)方法可以更改设备的屏幕刷新率。
举个例子,以下代码演示如何将屏幕刷新率设置为支持的最高刷新率:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    Display[] displays = displayManager.getDisplays();
    for (Display display : displays) {
        if (display.getSupportedModes().length > 0) {
            Display.Mode mode = display.getMode(display.getSupportedModes().length - 1);
            if (mode != null) {
                int refreshRate = (int) mode.getRefreshRate();
                display.setMode(display.getSupportedModes()[0]);
                Log.d(TAG, "refresh rate set to " + refreshRate +"Hz");
            }
        }
    }
}