Лучшая практика для анализа / управления огромным файлом JSON (~ 19 МБ) на Android - PullRequest
2 голосов
/ 29 марта 2012

У меня есть огромный JSON-файл для анализа в моем приложении для Android. Я полагаю, он слишком велик для анализа, возможно, памяти не хватит. Я обычно разбираю небольшой файл с помощью GSON lib.

Есть ли лучшая практика для этого? Или вы предлагаете что-нибудь, чтобы решить это?

Любые предложения приветствуются.

Ответы [ 3 ]

4 голосов
/ 30 марта 2012

Вам определенно понадобится потоковый парсер, такой как JsonReader. Он доступен как в Gson ( ссылка ), так и в Android 3.0+ ( ссылка ). Вы должны использовать skipValue() агрессивно, поскольку это позволяет избежать выделения объектов, которые вы не собираетесь использовать.

1 голос
/ 24 декабря 2013

Если вы используете Джексона , убедитесь, что вы используете API потоковой передачи вместо API привязки данных, а затем не забудьте использовать skipChildren() как можно более агрессивно.Пример использования потокового API доступен здесь .

0 голосов
/ 29 марта 2012

Для синтаксического анализа GSON хорошо, когда, делая POJO, вы можете анализировать объект JSON непосредственно в Java Object.и для длинного файла вы должны сделать это в отдельном потоке, т.е. не в потоке пользовательского интерфейса. Для этого вы можете использовать AsyncTask - утилиту для управления потоком.ниже приведена полная ссылка на него

http://developer.android.com/reference/android/os/AsyncTask.html

...