|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
Доброго времени суток всем! Пишу простенькую игрушку с графикой. В принципе весь геймплей уже реализовал, но пока не заморачивался с жизненным циклом приложения, поэтому, если, допустим, телефон на игре уснул, после пробуждения игра уже не работает. Вот хотел спросить у опытного сообщества, в каком методе нужно сохранять состояние разных объектов, а в каких - восстанавливать? В одной статье читал, что сохранять нужно в OnPause, ибо это последний гарантированно вызываемый метод. А вот когда лучше восстанавливать? И потом, объекты есть разные: есть просто переменные, отвечающие за различные состояния игры, а есть объекты (типа Paint, Rect и т.п.). Наверняка, их восстановление правильнее сделать в разных методах (только вот в каких)? В приложении всего одна активити с одной вьюхой, унаследованной от SurfaceView (если эта информация важна). С уважением, Валера. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 12:19 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
Sp999А вот когда лучше восстанавливать? onResume не предлагать? https://developer.android.com/training/basics/activity-lifecycle/index.html?hl=ru ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 12:46 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
wadmanSp999А вот когда лучше восстанавливать? onResume не предлагать? https://developer.android.com/training/basics/activity-lifecycle/index.html?hl=ru Это, конечно, первой мыслью было, но возникает сомнение (может и необоснованное) - не будет ли метод OnResume от этого слишком перегружен? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 12:52 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
Sp999не будет ли метод OnResume от этого слишком перегружен? При желании можно любой метод перегрузить, потому рекомендуется изучать работу с потоками. В "резюме" отобразил экран с паузой, а фоном подгружаешь необходимые ресурсы. Это же рекомендуется делать и при старте игрушки. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 13:13 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
Спасибо за ответы. Теперь возникла следующая дилемма: какой инструмент выбрать для хранения данных - Preferences или SQLite? Какие у них плюсы-минусы против друг друга? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 14:32 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
Sp999Какие у них плюсы-минусы против друг друга? неужели не очевидно в чем разница между файлом и базой данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 14:40 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
chpasha, Разница-то известна, я вот только не совсем внутренние механизмы понимаю. Возможно глупость спрошу, но как организован механизм чтения и записи в файл при использовании Preferences - он последовательный или для каждого нового значения начинает отсчет с начала файла? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 15:00 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
Sp999Разница-то известна, я вот только не совсем внутренние механизмы понимаю. preferences это xml файл лежащий в приватной или публичной папке приложения, выглядит как Код: xml 1. 2. 3. 4.
Sp999Возможно глупость спрошу я так точно нифига не понял. мы сейчас о чем говорим, о производительности Preferences или о том, что все что ты запишешь в var1 и var2 ты получишь обратно, а как оно там реализовано не так уж и важно? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 15:57 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
можно сохранять в дисковом кэше https://github.com/vincentbrison/dualcache по onPause фоновой задачей копируешь в кэш по onResume проверяешь наличие данных в кэше и Loader ом подгружаешь данные ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 20:21 |
|
Вопрос про сохранение и восстановление состояния приложения
|
|||
---|---|---|---|
#18+
по onPause текущее состояние кидаешь в сервис, который в фоне сохраняет состояние а в Loader читаешь состояние можно аналогично через заданные промежутки времени сохранять в фоне состояние ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 20:30 |
|
|
start [/forum/topic.php?fid=13&msg=39292873&tid=1331074]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 244ms |
total: | 343ms |
0 / 0 |