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()長時間のセッション中、キオスク、POS、ダッシュボード、スキャナ、サインジアプリはメモリの蓄積を避けるのに役立ちます。
主な機能
「主な機能」のセクション- ネイティブのクラッシュ再起動 - iOSまたはAndroidのウェブビューをレンダラーのプロセスが死んだときに再起動します。
- 定期的な再起動 - 長時間のウェブビューをネイティブのタイマーを使ってリサイクルします。
restartIntervalMsマニュアルのネイティブ再起動 - JavaScriptがページをリロードせずに新しいネイティブのウェブビューを要求することができます。restartCron. - スケジュールされた再起動 -
restartWebView()定期的なウェブビューのリサイクル - Capacitor をタイプします - 公開
WebViewCrashPluginConfigのplugins.WebViewCrashでcapacitor.config.ts. getPendingCrashInfo- 保存されたネイティブのクラッシュまたは再起動マーカーを返します、またはnull何も待っていない場合。clearPendingCrashInfo- アプリが状態を復元した後、保存されたマーカーをクリアします。simulateCrashRecovery- ローカルでリカバリフローをテストするために、偽のクラッシュマーカーを作成します。addListener- クラッシュマーカーとwebViewRestoredAfterCrashのwebViewRestoredAfterRestartネイティブの再起動マーカー
Public API
API| メソッド | 説明 |
|---|---|
getPendingCrashInfo | native crash または再起動マーカーを返します。 null マーカーがなければ何も返されません。 |
clearPendingCrashInfo | マーカーをクリアします。 |
simulateCrashRecovery | アプリの状態を復元した後です。 |
restartWebView | テスト用にローカルで recovery フローのテストを実行するために、fake crash マーカーを作成します。 reason: 'manualRestart' native code に WebView を作成するように求めます。 |
addListener | native __CAPGO_KEEP_0__ に WebView を作成するように求めます。 webViewRestoredAfterCrash リスナーがマッチするマーカーがまだ pendding である場合に発火します。 webViewRestoredAfterRestart リスナーがマッチするマーカーがまだ pendding である場合に発火します。 |
removeAllListeners | プラグインリスナーをすべて削除します。 |
設定タイプ
「設定タイプ」セクションCapacitorのプラグインは、型付きの設定エントリを追加します。 PluginsConfig 型付きの WebViewCrash 設定エントリ:
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}- このプラグインは、WebViewのクラッシュ後に回復を検出します。クラッシュを防ぐことはありません。
- APIが発生すると、前のWebViewのインメモリ状態はすでに失われます。
- スケジュールされた再起動は
reason: 'periodicRestart';手動の再起動はreason: 'manualRestart'. 保存されていない状態を再起動間隔、cron スケジュール、または呼び出し前に保存する。restartWebView(). restartCronデバイスのローカルタイムゾーンで使用する 5 つのフィールドの cron 語法の例0 3 * * *毎日 03:00 の再起動の場合です。restartCron両方のスケジュールを一度に設定しないでください:restartIntervalMsnative の初期化は設定された場合と0.- 大きい場合に致命的な構成エラーを投げます。
didCrashAndroid の場合、追加のフィールドとしてrendererPriorityAtExitと - が利用可能です。
appStatewhen the terminated WebView process is observed. Manual and scheduled restarts rebuild the Capacitor bridge view so a newWKWebViewを記録します。
マニュアルおよびスケジュールされた再起動は __CAPGO_KEEP_0__ ブリッジ ビューを再構築するため、新しい"が作成されます。
真実の源__CAPGO_KEEP_0__のリファレンスはsynced src/definitions.ts から capacitor-webview-crash.
capgo/capacitor-webview-crashから続けてください
capgo/capacitor-webview-crashから続けてください__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crashを使用している場合 capgo/capacitor-webview-crash __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crashを使用して、ネイティブメディアとインターフェイスの動作を計画するには、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crashに接続してください。 capgo/capacitor-webview-crashを使用して、ネイティブ機能を計画するには、@capgo/capacitor-webview-crashを使用してください。 capgo/capacitor-live-activitiesを使用してください。 native media and interface behaviorを計画するには、@capgo/capacitor-webview-crashを使用してください。 本製品のネイティブ機能を使用する場合の @capgo/capacitor-live-activities @capgo/capacitor-live-activities 本製品の実装詳細を使用する場合の @capgo/capacitor-live-activities 本製品の @capgo/capacitor-video-player を使用する 本製品のネイティブ機能を使用する場合の @capgo/capacitor-video-player、 @capgo/capacitor-video-player 本製品の実装詳細を使用する場合の @capgo/capacitor-video-player