#2.319 — hivedb

Igor Kravchenko
It_challenge
Published in
1 min readDec 26, 2019

Занимался оптимизацией работы hivedb. Чинил вылеты приложения.

Одним из важных понятий это deletedEntries — они возникают при перезаписи значений или удалении, для полного уничтожения надо вызывать `await box.compact();`

var box = await Hive.openBox('myBox', compactionStrategy: (entries, deletedEntries) {
return deletedEntries > 50;
});

В данном случае это настройки сколько удалений зачищать при compact.

Если не делать compact то может тормозить открытие Box, даже если он LazyBox.

Починил зависания и вылеты — слишком часто и много данных сохранял - баг логики для Current. Я сохранял большой объект(около 5к элементов в пике, десятки раз в секунду. Переписал сохранение модели не более чем раз в секунду и упростил модель записи.

Подписка на телеграмм: https://t.me/It_challenge

26.12.2019

--

--