Здравствуйте!
Допустим есть Activity и у него в свойствах хранится кастомный объект (по сути в нем только данные). С данным объектом работают еще фрагменты от этого Activity.
Вопрос: если я например при работе с приложением сверну его на этом Activity, а потом разверну через долгое время (через день или неделю например), могу ли я быть уверен что данный объект еще существует и я могу продолжать работать с ним из фрагментов в том числе?
Спасибо.
если процес убивается (а через день или неделю он уничтожится с вероятностью 99%) тогда и данные теряются. Думаю вам стоит сохранять эти данные с помощью SharedPreferences
А нет, стоп, вру, объект задается как public static из другого активити. Поэтому при пересоздании этого активити я так понимаю объета может уже не быть верно?
furyon: Если процес убьется тогда при запуске будет создана новая активити, и зависимо от того как и где вы создавали объект, он будет (или не будет) создан. Если у вашего объекта данные инициализируются сразу при запуске то он будет иметь именно их а не старые
Там ситуация такая:
из активити A в активити B передается объект, и возможно активити B сделает изменения в объекте, если пользователь возвращается в активити А то мне нужны эти изменненые данные. А получается что если B умерает то при перезапуске активити объекта нет, и приложение падает, к тому же непонятно что происходит в активити А при возвращении (но до этого дело не доходит ибо приложение падает до этого). Наверно буду играть с startActivityForResult.
Можно еще вопрос, при работе я допустим накомитил фрагментов, а после перезапуска активити (после долгого простоя) опять будут в начальном состоянии фрагметы?
furyon: Если активити была уничтожена тогда фрагменты будут созданы заново, в ином случае они останутся такими какими были и на момент свертывания приложения, чтобы гарантировать состояние фрагментов в любом из этих случаев есть onSaveInstanceState() и onRestoreInstanceState()
Если юзер свернул приложениие в активити В, и тогда если он опять попытается запустить ваше приложение
1) Пользователь увидит активити В и продолжит работу с того места где ее закончил (все обьекты будут жить)
2) Приложение было убито и запустится активити А
Хм, по моим ощущениям, когдя я долго не юзаю какое либо приложение, и запускаю, то открывается последнее активити и срабатывает метод onCreate, а если закрыл недавно то onCreate не срабатывает а сразу открывается что было. Это не вяжется с вашей идей когда приложение убивается полностью и запускается с начального активити.