Определить минимизированный? Запуск в фоновом режиме?
Ваше веб-приложение, независимо от его статуса на домашнем экране, является просто еще одной страницей, загруженной в браузер. Из-за а) недостатка памяти на устройстве и б) работы многозадачности операционная система может запрашивать приложения, чтобы освободить память или даже завершить работу в любое время.
Вот почему при создании приложения для iOS у вас есть:
- (void)applicationWillTerminate:(UIApplication *)application
Этот метод позволяет вам, как разработчику, указать поведение, которое будет использоваться (например, сохранение пользовательских данных) до того, как ваше приложение завершит работу, когда оно получит сигнал завершения от ОС. По этой же причине в руководствах для разработчиков iOS содержится просьба сохранить состояние и всегда следить за его восстановлением, когда приложение выводится на передний план. (Пользователи могут не знать, что приложение завершило работу, поскольку оно все равно будет отображаться в списке «запущенных приложений» при двойном щелчке по домашней странице).
Теперь я понимаю, что вы говорите о веб-приложении, но это важно. Веб-страницы, и я уверен, что и ваши, занимают немного памяти в телефоне - у вас есть DOM, все ресурсы, информация о состоянии, где находится страница и какие виджеты установлены на что. Вы говорите, что ваше приложение довольно интерактивное с использованием canvas и прочего - я уверен, что оно занимает много памяти.
Поэтому, когда вы помещаете Safari в фоновый режим, Safari, скорее всего, разрушает ваш кэш в памяти.