Достаточно ли проверять 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)

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