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