Когда / Как создать / уничтожить базу данных комнат - PullRequest
0 голосов
/ 25 июня 2018

Мне было интересно, может ли кто-нибудь указать мне на документацию / уточнить, когда создавать или уничтожать экземпляр базы данных комнаты.И как бы вы эффективно открывали / закрывали его?

Если у меня есть объект RoomDatabase, который вводится через кинжал докладчику, это круто, и тогда я просто получаю доступ к различным Daos?Я беспокоюсь о том, чтобы объект задерживался и занимал память.

1 Ответ

0 голосов
/ 26 июня 2018

Вместо введения RoomDatabase в докладчик вы можете добавить DataManager Singleton-класс.

Этот DataManager может удерживать ваши WeakReferences до DAO с.В зависимости от того, когда вы пытаетесь получить доступ к данным, сначала проверьте, есть ли у вас их в памяти, передайте их докладчику, если нет, то Lazily получит доступ к RoomDB, чтобы загрузить данные в память, а затем передать докладчику.

Таким образом, существует Единый Источник Истины, который обращается к вашим данным и управляет ими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...