2015-07-23 3 views
1

Мне нужно перезагрузить приложение, чтобы обновить состояние приложения по некоторым личным причинам. Для этого я использую ProcessPheonix, который делает это хорошо. Библиотека звонит, чтобы закрыть процесс и до того, что она открывающая новые деятельности Runtime.getRuntime().exit(0); ...Realm и Runtime.getRuntime(). Exit (0)

Проблемы ...

Дела в том, что всякий раз, когда у меня есть экземпляр Realm в выполните действие и вызовите метод перезагрузки, приложение, похоже, остановлено и запускается новое действие, но все пустое. Я пробовал это с большим количеством опций, но, похоже, это делается только тогда, когда у меня есть экземпляр объекта realm.

Есть ли что-то, что Realm использует и должно быть закрыто, или что я могу сделать, чтобы сделать эту работу? (Я пытался закрыть экземпляр области действия перед запуском перезагрузки и он не работает)

EDIT:

Here является образцом деятельности. Существует суперкласс класса Activity3, который имеет экземпляр области.

+1

Я думаю, вы помогли нам найти ошибку. Проблема github создала https://github.com/realm/realm-java/issues/1328. Я буду обновлять здесь, когда он будет исправлен. – beeender

ответ

1

Да, Realm использует собственные ресурсы, которые необходимо обрабатывать должным образом. Вот почему это требует вызова realm.close(). Сможете ли вы правильно закрыть свои экземпляры Realm (все они!) Перед перезагрузкой приложения?

+0

Эй, спасибо за подсказку, я уже пробовал это без каких-либо результатов. Я также попытался отложить (примерно на 3 секунды) перезагрузку приложения после закрытия Realm и тот же результат :(Любые другие идеи? Есть ли другой способ закрыть или очистить Realm? Спасибо! – Cata

+0

Не совсем. вы можете поделиться с нами своим кодом или создать образец проекта, показывающий проблему? – Emanuelez

+0

Emanuelez, я сделаю это, как только вернусь домой, поскольку у меня есть демонстрационный проект только для этой проблемы. Спасибо! – Cata

Смежные вопросы