Passer à la navigation

@capgo/capacitor-webview-crash

Rétablissement de la panne de la vue native, redémarrage manuel et recyclage programmé de la vue native pour les applications Capacitor longues durées.

This plugin stores a native marker when the previous Capacitor WebView process dies or is recycled, then exposes that marker to the next JavaScript runtime after the app recovers. It can also restart the WebView from native code after a crash, on a fixed interval, on a cron schedule, or when JavaScript explicitly requests restartWebView()Ce plugin aide les applications kiosque, POS, tableau de bord, scanner et de signalisation à éviter la buildup de mémoire pendant de longues sessions.

  • Redémarrage de la panne natif - Redémarre le WebView à partir d'iOS ou d'Android lorsque le processus de rendu meurt.
  • Redémarrage planifié - Recycle les WebViews longs en cours d'exécution à l'aide d'un horloge native ou d'un horloge de mur restartIntervalMs Redémarrage manuel natif - Permet à JavaScript de demander un WebView natif frais sans recharger la page. restartCron.
  • __CAPGO_KEEP_0__ restartWebView() __CAPGO_KEEP_1__
  • Typé Capacitor config - Expose WebViewCrashPluginConfig pour plugins.WebViewCrash dans capacitor.config.ts.
  • getPendingCrashInfo - Renvoie le marqueur de panne native stocké ou de redémarrage, ou null lorsqu'il n'y a rien en attente.
  • clearPendingCrashInfo - Efface le marqueur stocké après que votre application ait restauré son état.
  • simulateCrashRecovery - Crée un marqueur de panne fictif afin de tester les flux de récupération localement.
  • addListener - Déclenche webViewRestoredAfterCrash pour les marqueurs de panne et webViewRestoredAfterRestart pour tout marqueur de redémarrage native.
MéthodeDescription
getPendingCrashInfoRenvoie le marqueur de crash ou de redémarrage natif stocké, ou null lorsqu'il n'y a rien en attente.
clearPendingCrashInfoEfface le marqueur stocké après que votre application ait restauré son état.
simulateCrashRecoveryCrée un marqueur de crash fictif afin de tester les flux de récupération localement.
restartWebViewÉcrit reason: 'manualRestart' et demande à code natif de créer une WebView fraîche.
addListenerDéclenche webViewRestoredAfterCrash ou webViewRestoredAfterRestart lorsqu'un écouteur s'attache et un marqueur correspondant est toujours en attente.
removeAllListenersSupprime tous les écouteurs de plugin.

Le plugin complète Capacitor’s PluginsConfig avec une entrée de configuration typée : WebViewCrash Copier dans le presse-papiers

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}
  • Le runtime JavaScript récupéré est nouveau, donc tout l'état en mémoire de la WebView précédente est déjà perdu lorsque ce __CAPGO_KEEP_0__ se déclenche.
  • The recovered JavaScript runtime is new, so any in-memory state from the previous WebView is already gone when this API fires.
  • ; redémarrages manuels écrivent reason: 'periodicRestart'Redémarrages programmés écrivent ; redémarrages manuels écrivent reason: 'manualRestart'. Sauvegardez l'état non enregistré avant d'activer les intervalles de redémarrage courts, les programmes de tâches planifiées ou les appels restartWebView().
  • restartCron utilise la syntaxe de 5 champs pour les programmes de tâches planifiées dans la zone horaire locale du dispositif, par exemple 0 3 * * * pour un redémarrage quotidien à 03:00. N'configurez pas les deux programmes de tâches planifiées en même temps : l'initialisation native génère une erreur de configuration mortelle lorsque restartCron est défini et restartIntervalMs est supérieur à 0.
  • Sur Android, d'autres champs supplémentaires comme didCrash et rendererPriorityAtExit peuvent être disponibles.
  • Sur iOS, le plugin enregistre appState lorsque le processus de WebView arrêté est observé. Les redémarrages manuels et planifiés reconstruisent la vue de pont Capacitor afin qu'un nouveau WKWebView soit créé.

Cette référence est synchronisée à partir de src/definitions.ts dans capacitor-webview-crash.

Continuez à partir de @capgo/capacitor-webview-crash

Section intitulée « Continuez à partir de @capgo/capacitor-webview-crash »

Si vous utilisez @capgo/capacitor-webview-crash pour planifier le comportement de médias et d'interface natifs, connectez-le avec En utilisant @capgo/capacitor-webview-crash pour la capacité native dans En utilisant @capgo/capacitor-webview-crash En utilisant @capgo/capacitor-live-activities pour la capacité native dans Utiliser @capgo/capacitor-activités en direct, @capgo/capacitor-activités en direct pour le détail d'implémentation dans @capgo/capacitor-activités en direct, Utiliser @capgo/capacitor-joueur vidéo pour la capacité native dans Utiliser @capgo/capacitor-joueur vidéo, et @capgo/capacitor-joueur vidéo pour le détail d'implémentation dans @capgo/capacitor-joueur vidéo.