Está verificando o SDK_INT o suficiente ou o carregamento lento é necessário para o uso de APIs do Android mais novas? Por quê?

Código como:

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

produz um aviso em Froyo:

04-27 03: 40: 35.025: W / dalvikvm (3138): VFY: não é possível resolver o método de interface 219: Landroid / content / SharedPreferences $ Editor; .apply () V

Mas eu entendo que em dispositivos mais antigos isso seria um RuntimeError que abortaria a aplicação (vejaAqui eAqui).

Então, essa maneira de chamar condicionalmente novos APIs (métodos) é segura na API 8 (Froyo) e acima ou há casos em que o carregamento lento ainda é necessário?

O que muda na Dalvik tornou isso possível?

Relacionado

A maneira recomendada pelo Android de suportar com segurança as novas APIs tem erro se a classe implementar uma interface mais nova. Por quê?Compatibilidade de resolução do Android com o SDK_INT hack; está tudo bem?Verificação do Android Dalvik no Eclair

questionAnswers(1)

yourAnswerToTheQuestion