Fragment vs. Support Fragment beim Targeting von api 21 (Android 5.0) und höher

8

Android Dashboards zeigen, dass nur die Hälfte der Geräte mit Android 5.0 haben und oben, aber die Zahlen anders aussehen für unser Kundendatensatz - es sind über 93% unserer Nutzer. Daher haben wir beschlossen, die Unterstützung für Geräte mit einer Android-Version unter 5,0 aufzuheben und minSdkVersion von 15 auf 21 zu ändern.

Dieses Upgrade erfordert von uns, alle veralteten Funktionalitäten zu überprüfen und einige Hacky-Workarounds zu bereinigen, die wir zur Unterstützung älterer Versionen angewendet haben. Eine der wichtigsten Funktionen, die wir jetzt anwenden können, besteht darin, android.support.v4.app.Fragment durch android.app.Fragment zu ersetzen. Es klingt wie eine gute Idee, vor allem, wenn wir wissen, dass Fragment API überprüft und verbessert worden.

Nur um sicher zu machen, dass ich richtigen Weg nehmen würde und android.app.fragment werde mich nicht überraschen würde Ich mag Frage von diesem paraphrasieren Stackoverflow Thread - sind Sie Fragmente von der Support-Bibliothek, auch wenn sie bereits verfügbar sind, wenn für Android 5 zu entwickeln? Gibt es Fehler in der Fragment-API, die unter Android 5.0 und höher auftreten und in der Support-Bibliothek behoben wurden?

Aktualisieren

Nach dem Android-KTX Release, Jake Wharton die folgende Erklärung in einer der PRs :

  

Danke, dass Sie sich die Zeit genommen haben, die PR zu machen (mit Tests!), aber wir möchten dazu ermutigen, dass Entwickler nur die Fragmente der Support-Bibliothek verwenden. Die nächste Version von Android wird die Version von Fragmenten verbitten, der Teil der Plattform sind. So werden wir keine Erweiterungen fügen Sie sie in diesem Projekt zu unterstützen.

Das Verwenden von Fragment aus der Support-Bibliothek ist also das Richtige.

    
Krzysztof Skrzynecki 11.01.2017, 14:35
quelle

2 Antworten

6

Ich würde vorschlagen, die Fragmente der Support-Bibliothek trotzdem zu verwenden, aus ein paar Gründen:

  1. Zukünftige Funktionen können hinzugefügt und rückportiert werden, und dann müssen Sie sie neu schreiben
  2. Konsistenz. Die Support-Bibliothek sorgt dafür, dass Support-Fragmente immer gleich funktionieren. Wohingegen die nativen Fragmente feine Unterschiede zwischen den Versionen haben können.
  3. Die Support-Bibliothek kann Fehlerbehebungen auf der Plattform enthalten und kann wesentlich häufiger aktualisiert werden.
Gabe Sechan 11.01.2017, 14:44
quelle
0

Wir haben vor einigen Monaten eine neue Android-App gestartet und wir haben uns dasselbe gefragt.

IMO, sollten Sie immer versuchen, android.app.Fragment zu verwenden, wenn es möglich ist. Auf diese Weise können Sie sicher sein, dass Android-Entwickler diese API optimieren, aktualisieren und unterstützen und Ihnen ein Qualitätsprodukt bieten.

Momentan verwenden wir android.support.v4.view.ViewPager und andere ähnliche Komponenten, die in der Support-Bibliothek andere Funktionen bieten als in der normalen API.

    
Velislava Kostadinova 11.01.2017 14:47
quelle