Ist die Überprüfung von SDK_INT ausreichend oder ist ein verzögertes Laden erforderlich, um neuere Android-APIs zu verwenden? Warum?

Code wie:

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

erzeugt eine Warnung in Froyo:

04-27 03: 40: 35.025: W / dalvikvm (3138): VFY: Schnittstellenmethode 219 kann nicht aufgelöst werden: Landroid / content / SharedPreferences $ Editor; .apply () V

Ich verstehe aber, dass es sich bei älteren Geräten um einen RuntimeError handelt, der die Anwendung abbricht (sieheHier undHier).

Ist diese Art des bedingten Aufrufs neuer API (Methoden) in API 8 (Froyo) und höher sicher oder gibt es Fälle, in denen noch ein verzögertes Laden erforderlich ist?

Welche Änderungen in Dalvik haben dies ermöglicht?

verbunden

Die von Android empfohlene Methode, um neuere APIs sicher zu unterstützen, weist einen Fehler auf, wenn die Klasse eine neuere Schnittstelle implementiert. Warum?Kompatibilität von Android-Lösungen mit SDK_INT-Hack; ist das ok?Android Dalvik Verification in Eclair

Antworten auf die Frage(1)

Ihre Antwort auf die Frage