Вопрос

Я планирую написать intentservice, чтобы загрузить новые пакеты (новые элементы для приложения). Моя единственная проблема в том, что когда я транслирую конец загрузки, я должен обновить модель памяти, если приложение работает. Если он не работает, ничего не нужно сделать, так как приложение создаст модель памяти из БД, когда она начнется. С точки зрения производительности пользовательский интерфейс работает из памяти, а не из БД. Есть идеи, как мне подходить, или я полностью не на том пути?

РЕДАКТИРОВАТЬ: Для ясности: допустим, у меня есть MyIntEntentService, который вставляет новые линии в мой DB, а затем стреляет в вещатель, который получен MyBroadcastreceiver. Теперь проблема, с которой я сталкиваюсь, заключается в том, что экземпляр MyBroadcastreiver должен каким -то образом уведомить о модельном классе, который является синглтоном. Проблема в том, что этот экземпляр модели (Singleton) должен быть доступен только в том случае, если мое приложение работает, так как это потребляется только по пользовательскому интерфейсу (использование только DB будет способ замедлить). Нет необходимости в уведомлении моего экземпляра модели, если нет пользовательского интерфейса для его использования. Я не могу сделать свою модель быть верасенсором, так как они инициируются в любое время, и они также не могут быть одинокими (насколько я знаю).

Это было полезно?

Решение

Я решил это, имея регистр пользовательского интерфейса в качестве приемника вещания и обновлял модель по мере необходимости. В моем решении, если пользовательский интерфейс существует, модель всегда будет создана.

Другое решение состоит в том, чтобы проверить, создается ли модель и действует только в том случае, если она есть.

Другие советы

Немного сложно ответить и сказать что -то, имея только ваши слова без кода. Может сделать дополнительную отдельную часть вашего проекта, которая будет инициализировать/создать вашу «модель памяти» из DB, и эта часть должна быть недостаточной, поэтому вы можете использовать ее из любого места в любое время, во время запуска своей деятельности/приложения или при получении трансляции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top