javascript ios cordova web-applications single-page-application

javascript - ¿Cómo puedes controlar el uso de la memoria en Córdoba?



ios cordova (1)

Ahora estoy en iOS, pero la pregunta también se aplica a Android. Estoy viendo el gráfico de memoria en Xcode, y mi aplicación falla cada vez que alcanza los 240 MB, creo que iOS lo está matando porque se está cargando demasiada memoria.

Siempre puedo hacer que se bloquee al navegar entre las páginas de la aplicación. (Es un SPA, representación HTML del lado del cliente). Si dejo de navegar por un minuto, la memoria bajará a 140 MB.

Aquí está la misma página en OSX Chrome:

En este caso, después de cesar la navegación, la memoria no disminuye por sí misma. En cambio, el acantilado al final de la gráfica es cuando presiona el botón de recolección de basura (lo baja de 170 MB a 60 MB).

¿Cómo evito que mi aplicación deje de funcionar?

  1. ¿Hay un equivalente al botón de recolección de basura que puedo llamar dentro de Cordova?
  2. ¿Puedo obtener iOS para otorgar a mi aplicación una asignación especial de memoria grande?
  3. Si el usuario navega entre las páginas X veces dentro de un período de un minuto, puedo colocar una pantalla de tiempo de espera que indica que no pueden usar la aplicación durante el siguiente minuto mientras la recolección de basura pasa a XD
  4. ¿Alguna forma de reducir el uso de memoria en la pendiente hacia arriba, como JS está representando HTML?

Además, aquí está el gráfico de Chrome con nodos HTML: crece proporcionalmente pero los nodos permanecen en el mismo nivel después de la recolección de elementos no utilizados.


Puede intentar usar el complemento WKWebView , que a veces puede reducir el uso de la memoria iOS para las aplicaciones Cordova.