2015-10-01 11 views
10

Google ermöglicht es uns, die neuesten Funktionen älterer APIs mit Android Standard Library bereitzustellen. Google unterstützt die Verwendung dieses Toolsets, ohne dessen Nachteile zu erwähnen.Gibt es Nachteile bei der Verwendung der Android Support Library?

Gibt es eine höhere RAM- oder CPU-Auslastung, langsameres Rendering oder ähnliches? Warum wird nicht jedes neue Feature als Teil der Bibliothek hinzugefügt, anstatt zwei separate Versionen zu verwalten? Fast jedes Beispiel und jeder reale Code, den ich gesehen habe, musste diese Bibliothek verwenden, um ActionBar und andere Dinge zu unterstützen, so dass wir davon ausgehen können, dass 90% der Anwendungen davon abhängen. Warum zwingst du es nicht einfach?

+1

Der einzige Grund, warum Sie Support-Bibliotheken verwenden, ist, weil Sie Funktionen auf niedrigerem API-Level aktivieren möchten, die bis dahin nicht verfügbar waren. – Elltz

+1

ich weiß das und es beantwortet meine Frage überhaupt nicht. –

+0

Nun, es war ein Kommentar .. – Elltz

Antwort

3

Es gibt keine bekannten Hindernisse bei der Verwendung der Support-Bibliothek. Wie Sie zu Recht angemerkt haben, wird von Google empfohlen, Best Practices zu verwenden: "Die Einbeziehung der Supportbibliotheken in Ihr Android-Projekt gilt als Best Practice für Anwendungsentwickler, abhängig von der Anzahl der Plattformversionen Ihrer App und den APIs Verwendet." (http://developer.android.com/tools/support-library/index.html)

Als Nachteile können wir nur ein paar kleineren Dinge erwähnen:

  • Erhöhung von apk Größe und Anzahl der Methoden in dem Projekt (sehr unbedeutend im Vergleich zu anderen Funktionskosten)

  • einige spezifische Einschränkungen der Verwendung (normalerweise werden sie in entsprechenden Java-Dokumenten erwähnt und sie spielen normalerweise keine Rolle, wenn wir in App nur die Implementierung unterstützen, ohne sie mit 'nativen' Elementen von sdk zu mischen). Als Beispiel siehe die Klasse FragmentActivity, Abschnitt 'Bekannte Einschränkungen'.

Was Ihre zweite Frage - eine große Menge an neuen Features sind nur in Support-Bibliothek enthält Vervielfältigung in Kern SDK zu vermeiden (android.support.v4.view.ViewPager und android.support.v4.view.PagerAdapter als Beispiel). Duplizierungsfunktionen (z. B. Fragment) werden beibehalten, um die Kompatibilität für Apps beizubehalten, die mit nativer Implementierung erstellt wurden.

+0

In Bezug auf die vergrößerte Größe ... ein paar Follow-up-Fragen. Weißt du, um wie viel größer deine App ist? Meine App ist jetzt nur etwa 70KB. Wie viel größer wäre es mit dem SL? Wird der gesamte SL in Ihre App oder nur die verwendeten/notwendigen Klassen und Ressourcen kompiliert? – eidylon