Logo androidermagazine.com
Logo androidermagazine.com

Facebooks einfacher Trick, um so viele verschiedene Android-Geräte zu bedienen

Anonim

Einige Leute nennen es gerne Fragmentierung, andere nennen es Wahl, aber bei jedem Namen gibt es sicherlich viele verschiedene Android-Handys. Das Erstellen von Anwendungen, die mit allen von ihnen arbeiten müssen, ist keine leichte Aufgabe. Es gibt sehr unterschiedliche Hardwarekonfigurationen, die einen großen Unterschied in der Leistung bewirken. Auch wenn eine APK-Datei für jede einzelne von ihnen geeignet ist, muss eine App auf Low-End-Geräten reibungslos funktionieren, ohne dass die Funktionen in der Höhe beeinträchtigt werden Geräte. Wenn Sie über eine App sprechen, die so beliebt ist wie Facebook, kann dies schnell zu einem Albtraum für die Leute werden, die das Codieren durchführen.

Facebook zeigte allen auf der Big Android Meat and Greet eine neue Lösung, die einfach ist - die Device Year Class-Komponente.

Die Entwickler von Facebook beschreiben diese neue Softwarekomponente folgendermaßen:

Device Year Class ist eine Android-Bibliothek, die einen einfachen Algorithmus implementiert, der den Arbeitsspeicher, die CPU-Kerne und die Taktrate eines Geräts dem Jahr zuordnet, in dem diese Kombination von Spezifikationen als High-End angesehen wurde. Auf diese Weise kann ein Entwickler das Anwendungsverhalten auf einfache Weise basierend auf den Funktionen der Telefonhardware ändern.

Die Bibliothek ändert kein Verhalten in der Anwendung. Es wird ein Wert (ausgedrückt als Jahr) zurückgegeben, der im Code für Zeiten gespeichert ist, in denen ein Entwickler die Funktionsweise einer App ändern muss, um die Benutzererfahrung an einen bestimmten Hardwaretyp anzupassen. Dies bedeutet, dass ein Entwickler eine App mit ausgefallenen Animationen und Übergängen schreiben kann, die beim Ausführen auf einem Galaxy Note 4 wie vorgesehen wiedergegeben werden, aber nicht die Aufmerksamkeit auf sich ziehen kann, wenn die App auf einem Moto E ausgeführt wird Stellen Sie sich vor, diese Art der Steuerung in einer App wie Facebook, die auf Millionen und Abermillionen von verschiedenen Handys installiert ist, kann und wird für nahezu jeden zu einer besseren Erfahrung führen. Und es ist einfach zu implementieren. Aus der Dokumentation auf GitHub:

if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }

Das Beste ist, dass die Bibliothek unter der BSD-Softwarelizenz (dieselbe Lizenz, die Google für die Android-Quelle verwendet) als Open-Source-Bibliothek bereitgestellt wird und jedem Entwickler kostenlos zur Verfügung steht.

Wir wissen, dass dies keine Zauberei ist, und es ist wahrscheinlich, dass die meisten Entwickler, die an großen Projekten arbeiten, eine Methode haben, um mit unterschiedlichen Hardwarekonfigurationen umzugehen. Die Gerätejahresklasse bietet eine einfache und "elegante" Lösung für ein großes Problem, die jeder nutzen kann.

GitHub-Seite der Gerätejahrklasse