Übersicht
Abschnitt mit dem Titel „Übersicht“Dieser Plugin speichert einen nativen Marker, wenn das vorherige Capacitor WebView-Prozess stirbt oder recycelt wird, dann offenbart es diesen Marker an die nächste JavaScript-Ausführung nach der App-Wiederherstellung. Es kann auch den WebView von nativen code nach einem Crash, auf einem fixen Intervall, auf einem Cron-Schema oder wenn JavaScript explizit anfragt restartWebView()womit sich Kiosk-, POS-, Dashboard-, Scanner- und Signage-Apps vor Memory-Aufbau während langen Sitzungen schützen können.
Kernfunktionen
Abschnitt mit dem Titel „Kernfunktionen“- Native Crash-Neustart - Neustart des WebView von iOS oder Android, wenn der Renderer-Prozess stirbt.
- Geplantes Neustart - Recycelt lang laufende WebViews auf einem nativen Timer mit
restartIntervalMsoder einem UhrzeigerschalterrestartCron. - Manueller nativer Neustart - Lassen Sie JavaScript einen frischen nativen WebView mit
restartWebView()ohne eine Seite zu neu laden. - Typet Capacitor Konfiguration - Expose
WebViewCrashPluginConfigfürplugins.WebViewCrashincapacitor.config.ts. getPendingCrashInfo- Gibt die gespeicherte native Crash- oder Neustartmarke zurück, odernullwenn nichts ansteht.clearPendingCrashInfo- Löschet die gespeicherte Marke nachdem Ihre App ihren Zustand wiederhergestellt hat.simulateCrashRecovery- Erstellt eine fiktive Crashmarke, damit Recovery-Flows lokal getestet werden können.addListener- AuslöstwebViewRestoredAfterCrashfür Crashmarker undwebViewRestoredAfterRestartfür jede native Neustartmarke.
Öffentliche API
Abschnitt mit dem Titel “Öffentliche API”| Methode | Beschreibung |
|---|---|
getPendingCrashInfo | Gibt den gespeicherten native Crash- oder Restart-Marker zurück, oder null wenn nichts ansteht. |
clearPendingCrashInfo | Löscht den gespeicherten Marker nachdem die App ihren Zustand wiederhergestellt hat. |
simulateCrashRecovery | Erstellt einen fiktiven Crash-Marker um lokale Recovery-Flows zu testen. |
restartWebView | Schreibt reason: 'manualRestart' und fragt den native code an um eine frische WebView zu erstellen. |
addListener | Auslöst webViewRestoredAfterCrash oder webViewRestoredAfterRestart wenn ein Listener anhängt und ein passender Marker noch ansteht. |
removeAllListeners | Entfernt alle Plugin-Listener. |
Konfigurationstyp
Abschnitt: KonfigurationstypDas Plugin ergänzt Capacitor’s PluginsConfig mit einer WebViewCrash typisierten
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}Auf die Zwischenablage kopieren
Hinweise- Abschnitt: Hinweise
- The recovered JavaScript runtime is new, so any in-memory state from the previous WebView is already gone when this API fires.
- Der wiederhergestellte JavaScript-Interpreter ist neu, daher ist jeder in-Memory-Zustand vom vorherigen WebView bereits weg, wenn dieser __CAPGO_KEEP_0__ ausgelöst wird.
reason: 'periodicRestart'Geplante Neustarts schreibenreason: 'manualRestart'. Persistieren Sie nicht gespeicherte Zustände, bevor Sie kurze Wiederanfangsintervalle, Cron-Aufträge oder Aufrufe aktivierenrestartWebView(). restartCronverwendet 5-feldige Cron-Syntax in der Gerätezeitzone, zum Beispiel0 3 * * *für einen täglichen Wiederanfang um 03:00 Uhr. Konfigurieren Sie nicht beide Aufträge gleichzeitig: Die native Initialisierung wirft bei einer Einstellung vonrestartCronundrestartIntervalMseine fatale Konfigurationsfehler, wenn0.- größer ist als
didCrashAuf Android stehen zusätzliche Felder wierendererPriorityAtExitund - zur Verfügung.
appStatewhen the terminated WebView process is observed. Manual and scheduled restarts rebuild the Capacitor bridge view so a newWKWebViewwenn das beendete WebView-Prozess beobachtet wird. Manuelle und geplante Wiederanfänge erneuern die __CAPGO_KEEP_0__-Brückensicht so, dass ein neuer
erzeugt wird.
Abschnitt mit dem Titel “Quelle der Wahrheit”Diese Referenz wird von src/definitions.ts in capacitor-webview-crash.
Weitermachen von @capgo/capacitor-webview-crash
Abschnitt mit dem Titel “Weitermachen von @capgo/capacitor-webview-crash”Wenn Sie native Medien und Schnittstellenverhalten planen, verbinden Sie es mit Mit @capgo/capacitor-webview-crash für die native Fähigkeit in Mit @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crash, Mit @capgo/capacitor-live-activities for the native capability in Using @capgo/capacitor-webview-crash, Diese Referenz wird von @capgo/capacitor-webview-crash synchronisiert für die native Fähigkeit in @capgo/capacitor-live-aktivitäten @capgo/capacitor-live-aktivitäten für die Implementierungsdetail in @capgo/capacitor-live-aktivitäten Mit @capgo/capacitor-video-player für die native Fähigkeit in Mit @capgo/capacitor-video-player und @capgo/capacitor-video-player für die Implementierungsdetail in @capgo/capacitor-video-player