У меня очень скучная проблема. Когда мое приложение переходит в фоновый режим, иногда процесс останавливается, как показывает LogCat:
INFO/ActivityManager(187): Low Memory: No more background processes.
INFO/ActivityManager(187): Process com.app.myapp (pid 20681) has died.
INFO/WindowManager(187): WIN DEATH: Window{40592708 com.app.myapp/app.myapp.dashboard.Dashboard paused=false}
ERROR/InputDispatcher(187): channel '408b1d40 app.myapp/app.myapp.menus.products.Promotions (server)' ~ Consumer closed input channel or an error occurred. events=0x8
ERROR/InputDispatcher(187): channel '408b1d40 app.myapp/app.myapp.menus.products.Promotions (server)' ~ Channel is unrecoverably broken and will be disposed!
INFO/WindowManager(187): WIN DEATH: Window{408b1d40 app.myapp/app.myapp.menus.products.Promotions paused=false}
INFO/ActivityManager(187): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10100000 cmp=app.myapp/.Main } from pid 187
INFO/ActivityManager(187): Start proc app.myapp for activity app.myapp/.menus.products.Promotions: pid=20721 uid=10062 gids={3003, 1015}
Когда я затем пытаюсь вернуться в приложение, через переключатель задач (долгое нажатие домой) он пытается вернуться к последнему открытому действию ... и вылетает.
Почему он не открывается с нуля, открывая Main, так как все приложение было закрыто?
Ошибки ERROR / InputDispatcher не всегда появляются.
UPDATE:
Проблема в том, что ... приложение восстановлено, но объекты в нем, которые были загружены (в виде хэш-карты), не ..., поэтому, когда я обращаюсь к ним .... у меня "проблемы" ...
ОБНОВЛЕНИЕ 2:
Мне удалось решить проблему, проверив onCreate on BaseActivity (который расширяется всеми остальными), если приложение содержит нужные мне данные или если оно пустое (в этом случае оно перезапускает приложение).
Есть ли более элегантное решение или, по крайней мере, способ сказать устройству, что, если приложение убито, я хочу, чтобы приложение было перезапущено?
Эти ссылки помогли понять проблему ... и зная, что нет четкого ответа о том, как хранить данные из приложения: Как объявить глобальные переменные в Android?
ОБНОВЛЕНИЕ 3:
Итак, я задал вопрос, конкретно о , как правильно сохранить данные приложения . Это может помочь тем, у кого такой же вопрос: Android: лучший способ сохранить данные, хранящиеся в Application Singleton Class