Programmer in Mexico
2 subscribers
3 photos
6 links
Tired programmer sometime posts stuff
Download Telegram
Channel created
Channel photo updated
Заметки по Realm
есть несколько неочевидных вещей
например, при изменении объекта в одном потоке, в другом потоке этот же объект не будет иметь этих изменений. необходимо рефрешнуть инстанс реалм
в общем случае для доступа к бд реалм надо использовать try-with-resources Statement
Списки примитивов приходится хранить в виде строки, сериализация в JSONArray
Базу данных надо периодически обрабатывать:
вызывать метод Realm.compactRealm(getRealmConfiguration());
причем в какой момент это делать- ещё вопрос. если вызывать при уходе приложения в бекграунд, скорее всего метод зафейлится.
С другой стороны, вызов из метода Application.onCreate не екомендован, т.к. выполнение дорогое.
Я пока решил всё-таки вызывать при старте приложения.
характерные цифры: размер файла БД до =200М, после < 3М
// tool for lazy programmer to get sha1 fingerprint
// implementation 'com.vk:androidsdk:1.6.9'
// import com.vk.sdk.util.VKUtil;
// String[] fingerprints = VKUtil.getCertificateFingerprint(this, this.getPackageName());
Если бакенд тупит, нечем заняться, а часы надо отрабатывать, стоит заняться написанием тестов.
Realm
Избегать перезаписывания поля тем же значением, т.к колбек сработает независимо от того, изменилось ли на самом деле значение или нет.