Czy sprawdzanie SDK_INT jest wystarczające lub czy jest wymagane leniwe ładowanie w celu użycia nowszych interfejsów API systemu Android? Czemu?

Kod taki jak:

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

wyświetla ostrzeżenie w Froyo:

04-27 03: 40: 35.025: W / dalvikvm (3138): VFY: nie można rozwiązać metody interfejsu 219: Landroid / content / SharedPreferences $ Editor; .apply () V

Rozumiem jednak, że w starszych urządzeniach byłby to błąd RuntimeError, który przerwałby aplikację (patrztutaj itutaj).

Czy więc ten sposób warunkowego wywoływania nowego API (metod) jest bezpieczny w API 8 (Froyo) i powyżej lub istnieją przypadki, w których nadal potrzebne jest leniwe ładowanie?

Jakie zmiany na Dalvik umożliwiły to?

Związane z

Zalecany przez Androida sposób bezpiecznego obsługiwania nowszych apis ma błąd, jeśli klasa implementuje nowszy interfejs. Czemu?Android rozwiązuje problem z hakowaniem SDK_INT; czy to jest ok?Android Dalvik Verification w Eclair

questionAnswers(1)

yourAnswerToTheQuestion