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、ダッシュボード、スキャナ、サインेजアプリはメモリの蓄積を回避するのに役立ちます。
Core Capabilities
Core Capabilitiesのセクション- Native crash restart - iOSまたはAndroidのWebViewを再起動します。レンダラープロセスが死にます。
- Scheduled restart - 長時間実行中のWebViewsをnativeタイマーまたは壁時計を使用してリサイクルします。
restartIntervalMsorrestartCron. - Manual native restart - JavaScriptがページリロードなしで新しいnative WebViewを要求することを許可します。
restartWebView()Typed __CAPGO_KEEP_0__ config - Exposes - Typed Capacitor config - Exposes
WebViewCrashPluginConfiginplugins.WebViewCrashNative crash restart - iOSまたはAndroidのWebViewを再起動します。レンダラープロセスが死にます。capacitor.config.ts. getPendingCrashInfo- __CAPGO_KEEP_0__を取得します。__CAPGO_KEEP_0__が存在しない場合は何も返されません。null- アプリの状態を復元した後、__CAPGO_KEEP_0__をクリアします。clearPendingCrashInfo- ローカルでリコバリーフローをテストするために、__CAPGO_KEEP_0__をシミュレートします。simulateCrashRecovery- __CAPGO_KEEP_0__addListener__CAPGO_KEEP_0__webViewRestoredAfterCrashメソッドwebViewRestoredAfterRestart説明
APIを取得します。APIが存在しない場合は何も返されません。
API| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
|---|---|
getPendingCrashInfo | __CAPGO_KEEP_0__ null __CAPGO_KEEP_0__が何も待っていない場合。 |
clearPendingCrashInfo | __CAPGO_KEEP_0__の状態が復元された後、保存されたマーカーをクリアします。 |
simulateCrashRecovery | ローカルで復元フローをテストするために、偽のクラッシュマーカーを作成します。 |
restartWebView | __CAPGO_KEEP_0__に書き込みます reason: 'manualRestart' codeに書き込みます。 |
addListener | __CAPGO_KEEP_0__に書き込みます。 webViewRestoredAfterCrash __CAPGO_KEEP_0__に書き込みます。 webViewRestoredAfterRestart __CAPGO_KEEP_0__に書き込みます。 |
removeAllListeners | __CAPGO_KEEP_0__に書き込みます。 |
__CAPGO_KEEP_0__に書き込みます。
__CAPGO_KEEP_0__に書き込みます。Capacitorに書き込みます。 PluginsConfig タイプで入力 WebViewCrash 設定エントリ:
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}ノート
「ノート」のセクション- このプラグインは、WebViewのクラッシュ後に回復を検出します。クラッシュを防ぐことはありません。
- 回復したJavaScriptランタイムは新しいので、前のWebViewのインメモリ状態は、このAPIが発火したときにすでに失われています。
- スケジュールされた再起動は
reason: 'periodicRestart';手動の再起動はreason: 'manualRestart'短い再起動間隔、cronスケジュール、またはrestartWebView(). restartCronデバイスのローカルタイムゾーンで使用する5つのフィールドのcronシンタックスの例0 3 * * *毎日03:00の再起動を設定しないでください:ネイティブの初期化は同時に両方のスケジュールを設定すると致命的な設定エラーを投げますrestartCronは設定されておりrestartIntervalMsは大きくなります0.- Androidの場合、追加のフィールドとして
didCrashとrendererPriorityAtExit利用可能です。 - iOSの場合、プラグインは
appStatewhen the terminated WebView process is observed. Manual and scheduled restarts rebuild the Capacitor bridge view so a newWKWebView手動と予定された再起動は__CAPGO_KEEP_0__ ブリッジビューを再構築するので、新しい
が作成されます。
真実の源セクションのタイトルは「真実の源」 src/definitions.ts この参照は、 capacitor-webview-クラッシュ.
capgoから続けて@capacitor/capgo-webview-クラッシュ
capgoから続けて@capacitor/capgo-webview-クラッシュ」のセクション__CAPGO_KEEP_0__を使用している場合 @capgo/capacitor-webview-クラッシュ ネイティブのメディアとインターフェイスの動作を計画するには、@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-クラッシュを接続する必要があります @capgo/capacitor-webview-クラッシュを使用してネイティブ機能を実装する @capgo/capacitor-webview-クラッシュを使用してネイティブ機能を実装する @capgo/capacitor-ライブアクティビティ @capgo/capacitor-ライブアクティビティを使用してネイティブ機能を実装する @capgo/capacitor-ライブアクティビティ @capgo/capacitor-ライブアクティビティの実装詳細 Using @capgo/capacitor-video-player native機能のためにUsing @capgo/capacitor-video-player Using @capgo/capacitor-video-player 実装詳細のために@capgo/capacitor-video-player