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.

  • AndroidStudio - Modulabhängigkeiten in Gradle
  • Deaktivieren Sie die eingebaute Rechtschreibprüfung auf Eiscreme-Sandwich
  • Android: java.lang.ClassCastException: android.widget.imageView kann nicht in android.widget.textView geworfen werden
  • Ist es möglich, Drittanbieter-Android Instant Apps auf einem emulierten Gerät zu entdecken und zu rendern?
  • Wie kann man überprüfen, ob der Benutzer mit FB SDK 4.0 für Android angemeldet ist?
  • Android ListView Refresh Single Row
  • 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); 

  • Rufen Sie removeView () auf dem Elternteil des Kindes auf
  • Verursacht durch: java.lang.OutOfMemoryError: Bitmap-Größe überschreitet das VM-Budget
  • Android Maps API erfordert openGL es 2
  • Android GoogleAuthUtil.getTokenWithNotification Intent callback nicht auslösen
  • Zeitlich abgestimmter Dialog
  • Soll ich ActionBarSherlock für Android 4.0+ Apps verwenden?
  • 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.