Подскажите стоит задача записывать Аналитические события и при накоплении 500 штук отправлять на сервер и удалять с устройства. В течении неск минут может накопиться это кол-во. Писали в sharedPreference в ui потоке, все делали по одному ключу. Берем данные по ключу в json, парсим , добавляем новое событие и снова все сериализуем. Получаем anr. Можно писать в фоновом потоке, но у этого метода нет синхронизации, мы не знаем записались ли старые данные, чтобы взять их и дописать к ним еще. Есть возможность писать по разным инкрементируемым ключам в фоне. Но тоже выглядит так себе, в фоне придется бегать по всем ключам, собирать данные, а к этому времени добавляется новая порция событий и все это не синхронизировано. Использовать Базу данных? или может просто писать в файл.. или использовать noSQL либу paper ..