Sencha Touch 2 - Android-Performance
Entwickeln wir eine Sencha Touch 2-Anwendung macht die Verwendung von Phonegap in der Lage sein, um es zu installieren, da eine Anwendung und Zugriff auf den Speicher eines Gerätes. Dies funktioniert sehr gut auf dem iPad 2 und dem iPad 3. Allerdings, wenn wir versucht zum ausführen der Anwendung auf einem android-Gerät, die Leistung war sehr langsam. Die wichtigsten Elemente, die verlangsamt das system listet und Karussells. Als wir versucht haben, testen Sie die gleiche Anwendung, die durch den chrome-browser, die Leistung war auf Augenhöhe mit dem iPad.
Haben Sie irgendwelche Vorschläge, was wir tun können, um die Leistung zu verbessern auf android, vielleicht sogar Notwasserung Phonegap für etwas, das besser funktioniert. Oder wenn wir Kraft phonegap zu laufen als chrome-browser.
Vielen Dank für Ihre Zeit & Hilfe.
- Sehen. Ich bin auch mit der phonegap und sencha. Aber bis jetzt habe ich nicht zu Gesicht, viel problem in Bezug auf die Leistung. Kann sein das es etwas langsam für einige native Funktionen wie barcode-Scannen und alle. Aber nicht viel. Ich empfehle die Verwendung der aktuellsten corodova.jar Datei. Vielleicht 1.8 oder 1.9
- Wir sind in der Tat die Verwendung der Cordova-version 1.9 aber immer noch die performance ist nicht gut. Ich muss erwähnen, dass wir nicht zu entwickeln, als eine MVC-Anwendung, denn das war unser erstes Projekt mit Sencha also muß die Leistung beeinträchtigen aswell. Viele Menschen erwähnen, dass die Wurzel des Problems ist die Web-Ansicht von android, die Phonegap arbeitet, anscheinend ist es nicht gut für Hebe-Websites.
- Aber ich bin mit MVC-Architektur. Also UI-Teil würde ich mit Sencha Touch 2 und nativen Teil mit phonegap. Aber bis jetzt Leistung klug, es ist gut.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem, das Sie hier haben, ist, dass der Android-browser nicht verwenden hardware-Beschleunigung der Grafikkarte. Dies bedeutet, dass die standard-tricks, Sencha (und andere HTML5-Bibliotheken wie jQueryMobile, iScroll, etc...) verwenden, um gute Bildlauf, wie CSS-3D-Transformationen, um die Ursache Ihrer Liste gerendert werden in einem separaten layer, die dann übersetzt werden in hardware, funktioniert nicht auf Android. Stattdessen Liste einen Bildlauf ausgeführt werden vollständig in software, die wird langsam sein!
Den Chrome-browser, allerdings bieten die GPU-Beschleunigung. Das Android-Gerät ist mehr als fähig zum liefern eine gute HTML5-Erfahrung, es ist einfach so, dass der standard browser nicht nutzen der GPU-hardware noch.
Es sei denn, Sie können erzwingen, dass Ihre end-Nutzer verwenden Chrome (was ich bezweifle), die einzige option ist, zu vermindern, user experience-und liefert eine etwas einfachere Benutzeroberfläche für Android-Nutzer.
Für weitere details, siehe "DIE VERBESSERUNG DER LEISTUNG IHRES HTML5-APP"
Versuchen Sie dieses flag in Ihrer AndroidManifest.xml :
android:hardwareAccelerated="true"
Update: jetzt arbeiteten Sie mit ST2 mehr länger nun die performance-Herausforderungen auf Android gibt nur etwas, das Sie haben, zu akzeptieren. Es gibt viele Dinge, die Sie tun können, um Leistungsprobleme zu vermeiden, wie reduzieren Zuhörer und Veranstaltungen, halten Sie Ihre DOM-Licht (unterhalb von 2000 Knoten) und in der Regel vermeiden CSS3-Transformationen und Effekte (diese insbesondere nicht gut auf Android)
Andere Sache zu prüfen ist, anstatt mit dem eingebauten WebView können Sie mit der Zebrastreifen-Browsers und bettet diese in APK.
https://crosswalk-project.org
Es fügt eine kleine Größe, um Ihre APK (15-20 MB), aber es führt besser als die integrierten WebView und bringt Stabilität und Konsistenz zu einem sehr fragmentierte Plattform. Betrachten Sie die Tatsache, dass jede WebView auf Android je nach Gerät, Hersteller und OS-version kann unterschiedlich sein in kleinen Dingen. Zebrastreifen wird es ermöglichen, dass Sie die exakt gleiche version auf allen Android 4.0+ Geräten und entfernen Sie etwaige Geräte-oder herstellerspezifische Probleme.
Es gibt keine silberne Kugel für die Leistung auf Android. - Grafik-Beschleunigung wird sich nicht verbessern die Durchführung der reinen Ausführung von javascript oder DOM-manipulation. Wenn Sie verstehen wollen, warum, dann beginnen Sie hier:
Was ist der Unterschied zwischen reflow und repaint?
Ältere Antwort (kann immer noch gültig sein):
Für ICS und über die folgende Einstellung in der webview wird zu einer erheblichen Verbesserung der rendering-Leistung für Sencha Touch auf Android:
Jedoch nach meiner Erfahrung einführen, die Artefakte in die CSS-Darstellung je nach Gerät und Plattform-Variante. Ich habe nicht speziell fand einen Grund dafür und ich erwarte nicht, dass Google es lösen wie die webview-Komponente erhalten werden ersetzt durch eine neuere und bessere version im Android 4.4.
https://developers.google.com/chrome/mobile/docs/webview/overview