Android: gson leistung

Ich versuche, gson zu verwenden, um meine Objektmapping auf dem Android Emulator zu machen.

Es war lächerlich langsam bei der Verarbeitung von Json-Daten um 208 kb. Ich habe keine Hierarchien in meinem Json.

  • NoClassDefFoundError für Code in einer Java-Bibliothek auf Android
  • Android Studio Emulator E / AudioFlinger Fehlermeldung
  • Ist es möglich, die Anwendungsdaten von der Adb-Shell auf die gleiche Art zu sehen, wie ich sie auf der SD-Karte sehe?
  • Wie baut man Boost für Android als gemeinsame Bibliothek mit c ++ 11 Unterstützung
  • Wie kann man nur numerischen Wert für edittext in android setzen?
  • Wie kann ich die Kräuselungsfarbe bei der Verwendung ändern? Attr / selectableItemBackground als Hintergrund?
  • Nachdem die Objektmapping fertig ist, kann ich sehen, dass Gson rund 500 Datensätze erstellt hat.

    Es dauert es über 3 Minuten auf dem Android Emulator, um die Eingabe json abzubilden.

    Ich habe meine Entität kommentiert, die aus Strings und paar Schwimmern besteht.

    Ich vermisse etwas?

    Irgendwelche Ideen, Best Practices würden sehr helfen.

    Gibt es irgendwelche Möglichkeiten der schnellen Objektzuordnung der Json-Daten?

    URL myURL = new URL(url); /* Open a connection to that URL. */ URLConnection ucon = myURL.openConnection(); /* * Define InputStreams to read from the URLConnection. */ InputStream is = ucon.getInputStream(); InputStreamReader reader = new InputStreamReader(is); long tickCount = System.currentTimeMillis(); Policy[] policies = new Gson().fromJson(reader, Policy[].class); long endCount = System.currentTimeMillis() - tickCount; Log.d("Time to pull policies in milliseconds", "" + endCount); 

  • Wie bekomme ich Latitude Longitude von mehr als 500 Adressen?
  • Promo Video nicht sichtbar auf Google Play, sondern funktioniert auf Android Play
  • Wie kann ich den Speicherdruck für das Android-Debugging erzwingen?
  • Was sind die richtigen Android-Manifest-Einstellungen für eine Adobe AIR-Anwendung, um die Verfügbarkeit der Geräte zu beschränken?
  • Firefox für Android startet nicht App, wenn Link geklickt wird
  • Minimale Google Play Services Version für Push Notification
  • 5 Solutions collect form web for “Android: gson leistung”

    Ich habe solche Fragen gesehen, bevor der allgemeine Konsens ist, dass Jackson viel schneller ist als Gson. Weitere Informationen finden Sie in den folgenden Links:

    Hier ist eine, die speziell diskutiert Android: http://ubikapps.net/?p=525

    Hast du versucht, den GSON Streaming-Parser mit dem Gson-Objekt zu mischen? http://sites.google.com/site/gson/streaming (siehe das gemischte Beispielbeispiel).

    Dieser Ansatz kann helfen, da Gson in einem ganzen Parse-Baum liest und dann auf sie einwirkt. Mit einer großen Array-Liste, das Lesen in allen Elementen und versuchen zu analysieren kann viel Speicher Swaps (oder Thrashing) verursachen. Dieser Ansatz wird in einem Element zu einem Zeitpunkt zu lesen.

    Hoffe das hilft.

    Sie würden wahrscheinlich bessere Leistung bekommen, wenn Sie das InputStream in einem BufferedInputStream mit einem schönen großen Puffer verpackt haben …

    3 Minuten ist verrückt. Ich laufe selten den Emulator, aber ich habe eine App mit einem ~ 1.1MB JSON-Asset und das dauert etwa 5 Sekunden, um auf Hardware zu laden und zu verarbeiten.

    (Das ist noch viel zu lang, aber immer noch).

    Ich habe festgestellt, dass ich beschleunigen kann, von JSON ganz erheblich, indem ich nicht alle Elemente im JSON modelliere, die ich nicht brauche. GSON wird gerne nur das ausfüllen, was in deinen Antwortklassen angegeben ist.

    Ich habe festgestellt, dass CREATING eine Gson-Instanz ist eine sehr teure Operation, sowohl in Bezug auf CPU verwendet und Speicher zugeordnet.

    Da Gson-Instanzen fadensicher sind, zahlt sich eine einzelne statische Instanz aus, und wenn man sie oft serialisiert / deserialisiert.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.