Что такое стриминговый парсинг

«Что такое стриминговый парсинг» — вопрос из категории Сети, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Стриминговый парсинг — это обработка данных по мере их поступления, без загрузки всего объема в память. Полезен для работы с большими файлами или сетевыми потоками, например, JSON/XML из API.

Пример с JsonReader в Android:

val jsonStream = context.assets.open("large.json")
JsonReader(InputStreamReader(jsonStream)).use { reader ->
    reader.beginArray()
    while (reader.hasNext()) {
        // Обрабатываем элементы по одному
        val item = parseItem(reader)
        adapter.add(item)
    }
    reader.endArray()
}

Ключевые преимущества:

  • Низкое потребление памяти
  • Возможность обработки бесконечных потоков
  • Быстрый старт обработки (не ждем загрузки всего файла)