Достаточно ли проверять SDK_INT или требуется ленивая загрузка для использования более новых API Android? Почему?

Код такой как:

    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD)
        ed.apply();
    else ed.commit();

выдает предупреждение в Froyo:

04-27 03: 40: 35.025: W / dalvikvm (3138): VFY: невозможно разрешить метод интерфейса 219: Landroid / content / SharedPreferences $ Editor; .apply () V

Но я понимаю, что на старых устройствах это будет RuntimeError, которая прервет приложение (см.Вот а такжеВот).

Так является ли этот способ условного вызова новых API (методов) безопасным в API 8 (Froyo) и выше, или в некоторых случаях все еще требуется отложенная загрузка?

Какие изменения на Dalvik сделали это возможным?

Связанный

Android рекомендуемый способ безопасной поддержки более новых API имеет ошибку, если класс реализует более новый интерфейс. Почему?Android решает проблему совместимости с SDK_INT hack; это нормально?Android Dalvik Проверка в Эклере

Ответы на вопрос(1)

Ваш ответ на вопрос