2017-09-01 1 views
-3

Als ich meine erste Android-App für Android 2.2 geschrieben habe, mussten meine Aktivitäten extends AppCompatActivity verwenden, da Fragmente in Android 2.2 nicht verfügbar waren.Warum sollte ich AppCompatActivity anstelle von Activity für Android 4.0 und höher erweitern?

Heute verwenden viele Apps für Android 4.0 und neuer extends AppCompatActivity anstelle von extends Activity. Da Android 4 Fragmente und Stile unterstützt, müssen Sie immer noch AppCompatActivity verwenden? Der Android Studio-Assistent generiert auch Code für AppCompatActivity.

Hinweis: Diese Frage ist nicht über "AppCompat" im Allgemeinen (wie Android 6 Erlaubnis Unterstützung, ist es nur über die Aktivität und Fragment Handhabung

[update] Was wirklich meine Frage war über concreate. Beispiele dafür, was eine AppCompatActivity Aktivität unter android-4.0 tun kann, als ein android-4.0 Actrivity mit if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.XXX) nicht tun. Alles, was ich herausgefunden, dass AppCompatActivity fügt erhalten/setSupportXXXX

Das einzige konkrete Beispiel i wird so weit gekommen Ansichten verwendet Material Design .

+1

'AppCompatActivity' ermöglicht viele der Rückwärtskompatibilitätsfunktionen auf eine transparente Art und Weise. Beispielsweise werden Material Design-Ansichten und -Funktionen implementiert, die in 4.0 nicht verfügbar sind. Also, es ist immer noch eine gute Übung, es zu benutzen. –

+0

irgendwelche Erklärungen für die downvotes? die Frage nach "Was sind die Nachteile, um AppCompatActivity nicht zu verwenden" besser umformulieren? – k3b

+0

Heutzutage erweitern viele Apps, die für Android 4.0 und neuer geschrieben wurden, AppCompatActivity. Bist du sicher??? –

Antwort

3

Die AppCompatActivity ruft regelmäßig Verbesserungen auf (unterstützt Bibliotheksaktualisierungen). Die normale Aktivitätsklasse ist statisch, der Code wurde einmal geschrieben und nie aktualisiert.

Also was auch immer die Android-Version, AppCompatActivity ist fast immer besser, schneller, neuer.

Auch andere Funktionen werden später hinzugefügt, in der Version Android 5 usw., die zurück auf 4.0 portiert werden müssen.

+2

Sie haben den Teil verpasst, in dem AppCompat Abwärtskompatibilität aufweist, und appcompat-Designs erfordern AppCompatActivity anstelle von Activity – Zoe

Verwandte Themen