Сейчас я на iOS, но вопрос относится и к Android. Я смотрю на график памяти в Xcode, и мое приложение падает каждый раз, когда он обходит около 240 МБ, я считаю, что iOS убивает его, потому что он занимает слишком много памяти.
Я могу последовательно его обрушивать, перемещаясь между страницами в приложении. (Это SPA, клиентский HTML-рендеринг.) Если я остановлюсь на минутку, память опустится до 140 МБ.
Вот такая же страница в Chrome OSX:
В этом случае, после прекращения навигации, память не уменьшается сама по себе. Вместо этого, скала в конце графика, я нажимаю кнопку сбора мусора (снимает ее с 170 МБ до 60 МБ).
Как остановить приложение от сбоев?
- Есть ли эквивалент кнопки сбора мусора, которую я могу вызвать внутри Кордовы?
- Могу ли я получить iOS, чтобы предоставить моему приложению специальное большое резервное копирование памяти?
- Если пользователь перемещается между страницами X раз в течение минуты, я могу установить экран тайм-аута, который говорит им, что они не могут использовать приложение в течение следующей минуты, в то время как сбор мусора идет XD
- Любой способ уменьшить использование памяти при наклоне вверх, поскольку JS отображает HTML?
Кроме того, вот график Chrome с узлами HTML - растет пропорционально, но узлы остаются на уровне сборки мусора на уровне.