LINUX.ORG.RU
ФорумMobile

Бекап состояния приложения

 , , ,


2

2

Всем привет.

1) В общем, нужно каким-то образом сохранить текущее состояние приложения, чтобы его можно было позднее запустить в том же самом виде. В линуксе, на сколько я понимаю, этим может рулить CRUI. В Андроиде, естественно, иначе все и подозреваю, что должно быть завязано на root и XPosed.

2) Так же интересует, есть ли возможность редактировать визуал приложения «на лету». Т.е. поменять какие-то цифры, текст и т.д. По идее, тоже должно быть завязано на XPosed

★★

Последнее исправление: admucher (всего исправлений: 2)

Ответ на: комментарий от najlus

@bga_ Бекап состояния, а не настроек. Специально для этого привел в пример линуксовую утилиту.

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

admucher ★★
() автор топика
  1. Сие кличут Application checkpointing.
    Есть похожий вопрос на Stack Overflow.
    Для Ъ: ответ не нашли, но пишут что в теории возможно и дали ссылку на презентацию в которой упомянуты CryoPID, DMTCP, BLCR. В частности через DMTCP это вроде даже делали через https://github.com/0xlab/dmtcp-android .

  2. Cheat Engine Android?

P.S. Хорошо б добавить тег snapshot.

mydibyje ★★★
()
Последнее исправление: mydibyje (всего исправлений: 3)
Ответ на: комментарий от mydibyje

1) В общем, коробочного решения нет на текущий (и будущий) момент, увы, но все равно благодарю.

2) Не, не походит. Оно в теории, может поломать приложение, т.к. значения могут быть завязаны на что-то серьезное. Я поэтому и упомянул визуал. В теории, это делается патчем для XPosed, но вот интересует именно «на лету»

admucher ★★
() автор топика
Ответ на: комментарий от t184256

В том и забава, что андроид в теории, должен быть в этом плане проще, нежели чем десктоп, за счёт «виртуальных машин». Но повторюсь, это в теории, т.к. в текущий момент там кучей натюнено, да и вообще, какие-то трансляторы из Явы в Натив на лету. Может, поэтому нету в природе, а может просто оно никому в здравом уме не нужно :)

admucher ★★
() автор топика
Ответ на: комментарий от admucher

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

В iOS так искаропки. ^_~

mord0d ★★★★★
()
Ответ на: комментарий от admucher

Могу писать это сообщение, «засейвиться» на середине, сменить телефон, развернуть бекап и как не в чем не бывало продолжить с последней буквы?

Да, но не во всех приложениях.

Как?

Я не разработчик под iOS, я не знаю как. ☺

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

не во всех приложениях.

Так это зависит от приложения, которое поймало синхронизацию с интернетом, а не от iOS. Какое это имеет отношение к полному «сохранению состояния»? Может, вы не поняли о чем речь? Могу дать ещё один пример - суспендед в virtualbox или в вмваре, но только для конкретного приложения. Или вы все таки, назовите мне такое приложение, которое умеет сохранять свое «текущее состояние» на iOS. Речь тут совсем не о прогресс баре или уровне сабвей серф.

admucher ★★
() автор топика
Ответ на: комментарий от admucher

Так это зависит от приложения, которое поймало синхронизацию с интернетом, а не от iOS.

ОС делает снимок памяти и восстанавливает его. Если приложение не умеет восстанавливаться, то ой. Все штатные приложения умеют, сторонние вполне могут не уметь.

суспендед в virtualbox или в вмваре

Примерно так и работает сохранение состояния в iOS, состояние сохраняется при уходе в фон (переключение на другое приложение, выход на Home Screen).

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

состояние сохраняется при уходе в фон (переключение на другое приложение, выход на Home Screen).

Покажи мне современный смартфон, который так не умеет, вот только какое отношение это имеет к моему вопросу?

admucher ★★
() автор топика
Ответ на: комментарий от admucher

вот только какое отношение это имеет к моему вопросу?

Такое, что восстановление из сохранённого состаяния происходит даже после перезагрузки или восстановления.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Может даже запишешь видео сего действия? Запустишь сингл-игру какую-нибудь, побегаешь в ней, в середине беготни свернешь, сбросишь телефон, восстановишь игру и вернешься в ту же самую точку игры, где и был до (по твоим словам)

admucher ★★
() автор топика
Ответ на: комментарий от admucher

Ага, можешь писать сообщение, переключиться на SMS, вернуться в браузер и увидеть перезагружающуюся страницу. Ух, флешбеки.

Товарищ возможно пишет про то, что iOS сохраняет скриншот приложения, когда оно сворачивается. Чтобы в переключалке его показывать. Ну какая ОС, такое и состояние. Ничего там похожего на то, что ты хочешь - нет.

vbr ★★★
()
Последнее исправление: vbr (всего исправлений: 2)

Какой-то поиск единорога. Если само приложение специально не обучено такой штуке, то все решения «извне» будут иметь принципиальный изъян застать приложение в состоянии, которое восстановить позднее не представляется возможным. Мне кажется, это вполне самоочевидно, нет? Элементарно, можно в читалке читать книгу, которую потом удалишь. Или переименовать файл книги. Формально файл на месте, но читалка найти его и открыть уже не сможет. И это при том, что читалка, наверное, пример приложения, которое идеально приспособлено для восстановления последнего состояния использования.

Virtuos86 ★★★★★
()
Ответ на: комментарий от admucher

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

Вот ютуб как раз так и делает, если ты залогинишься, а вот с заморозкой приложения, как ты хочешь, оно работать не будет, потому что просрочатся все многочисленные гугловские секурити токены)

goingUp ★★★★★
()
21 июля 2023 г.
Ответ на: комментарий от xradio

Как это решит проблему «текущего состояния» приложения? Состояние где-то в оперативке витает.

Вот представь, что у тебя запущен комп, а в нем виртуалка с виндой. И когда ты хочешь ее закрыть, то у тебя стоит выбор Shutdown или Suspended. Вот мне и нужен второй, но только для приложения, который теоретически на Android'е возможен. На практике, как понял нет.

admucher ★★
() автор топика
Последнее исправление: admucher (всего исправлений: 1)
Ответ на: комментарий от admucher

Не нужно мне ничего представлять! Я это делаю и делаю по-своему:

Есть прога, в неё при работе вношу кучу данных, что занимает уйму времени. В случае непредвиденных обстоятельств, потеря этих данных - головная боль и потраченное время. Поэтому организовал себе резервирование и восстановление.

Повторяю - все данные установленной, настроенной с внесёными в неё данными проги находится в /data/data/. Эти данные резервируются, а когда надо восстанавливаются, т.е. вносится всё то, что сам в неё вносил. Имея зарезервированные данные, прогу можно сносить, затем ставить чистую и одним щелчком вносить всё то, на что потратил когда-то уйму времени...

xradio
()