메뉴로 바로가기

@capgo/capacitor-웹뷰 충돌

Native WebView crash recovery, manual restart, and scheduled WebView recycling for long-running Capacitor apps.

개요

개요

이 플러그인은 이전 Capacitor 웹뷰 프로세스가 죽거나 재활용될 때 native 마커를 저장하고, 앱이 복구된 후 JavaScript 런타임에 다음으로 노출합니다. 또한 충돌 후 웹뷰를 native code에서 재시작할 수 있습니다. 또한 fixed interval, cron schedule, 또는 JavaScript가 명시적으로 요청할 때도 가능합니다. restartWebView()기본 기능

__CAPGO_KEEP_0__ 앱을 다운로드하고 QR __CAPGO_KEEP_1__을 스캔하세요.

Core 기능
  • iOS 또는 Android에서 렌더러 프로세스가 죽었을 때 WebView를 다시 시작합니다.
  • Scheduled restart - long-running WebViews를 native 타이머를 사용하여 재활용합니다. restartIntervalMs or a wall-clock restartCron.
  • Manual native restart - JavaScript가 페이지를 다시 로드하지 않고 새로운 native WebView를 요청할 수 있습니다. restartWebView() __CAPGO_KEEP_0__ config - exposes
  • Typed Capacitor config - Exposes WebViewCrashPluginConfig in plugins.WebViewCrash getNativeCrashMarker - 저장된 native crash 또는 restart 마커를 반환하거나 capacitor.config.ts.
  • getPendingCrashInfo nothing이 pending일 때 null clearNativeCrashMarker - 앱이 상태를 복원한 후 저장된 마커를 삭제합니다.
  • clearPendingCrashInfo - Clears the stored marker after your app has restored its state.
  • simulateCrashRecovery - 로컬에서 복구 흐름을 테스트할 수 있도록 가짜 충돌 마커를 생성합니다.
  • addListener - 충돌 마커와 webViewRestoredAfterCrash - native 재시작 마커의 webViewRestoredAfterRestart Public __CAPGO_KEEP_0__
설명기존의 native 충돌 또는 재시작 마커를 저장하고,
getPendingCrashInfo기존의 상태를 복원한 후 저장된 마커를 삭제합니다. null 로컬에서 복구 흐름을 테스트할 수 있도록 가짜 충돌 마커를 생성합니다.
clearPendingCrashInfo- 충돌 마커와 native 재시작 마커의
simulateCrashRecoveryPublic __CAPGO_KEEP_0__
restartWebViewWrites reason: 'manualRestart' 그리고 원시 code에게 새로운 WebView를 생성하도록 요청합니다.
addListenerFires webViewRestoredAfterCrash 또는 webViewRestoredAfterRestart 웹뷰가 충돌할 때 __CAPGO_KEEP_0__가 작동하는 방식에 대해 설명합니다.
removeAllListenerswhen a listener attaches and a matching marker is still pending.

모든 플러그인 리스너를 제거합니다.

구성 유형

The plugin augments Capacitor’s PluginsConfig 이 플러그인은 __CAPGO_KEEP_0__의 WebViewCrash 타입이 지정된

export interface WebViewCrashPluginConfig {
restartOnCrash?: boolean;
restartIntervalMs?: number;
restartCron?: string;
restartAfterCrashDelayMs?: number;
}

Notes

Notes
  • 웹뷰 충돌 복구를 감지합니다. 충돌의 근본적인 원인을 막지는 않습니다.
  • API이 발생할 때, 이전 웹뷰의 메모리 상태는 이미 사라져 있습니다. 새로 생성된 자바스크립트 런타임은 이전 웹뷰의 메모리 상태를 유지하지 않습니다.
  • 예약된 재시작은 reason: 'periodicRestart'; 수동 재시작은 reason: 'manualRestart'. 저장되지 않은 상태를 저장하기 전에 짧은 재시작 간격, cron 스케줄, 또는 restartWebView().
  • restartCron 장치의 로컬 시간대에서 5 필드 cron 문법을 사용하여 예를 들어 0 3 * * * 일일 03:00 재시작을 구성하지 마십시오. native 초기화는 restartCron 이 설정이 설정되어 있고 restartIntervalMs 이 설정이 0.
  • 보다 큰 경우 native 초기화는 치명적인 오류를 발생시킵니다. Android에서 추가 필드인 didCrashrendererPriorityAtExit 가능합니다.
  • iOS에서 플러그인은 종료된 WebView 프로세스가 관찰될 때 기록합니다. appState 수동 및 예약된 재시작으로 Capacitor 브릿지 뷰를 재구성하여 새로운 WKWebView 진실의 근원

제목이 "진실의 근원"인 섹션

이 참조는 __CAPGO_KEEP_0__에서同步됩니다.

in src/definitions.ts __CAPGO_KEEP_0__-webview-crash from @capacitor/__CAPGO_KEEP_1__-webview-crash로 계속 진행하세요..

제목이 "from @capgo/capacitor-webview-crash로 계속 진행하세요."인 섹션

Section titled “Keep going from @capgo/capacitor-webview-crash”

만약에 사용 중이라면 capgo/capacitor-webview-crash 자연적인 미디어 및 인터페이스 동작을 계획하고 싶다면 __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-webview-crash와 연결하세요 capgo/capacitor-webview-crash를 사용하여 capgo/capacitor-webview-crash의 자체 기능을 사용하여 capgo/capacitor-live-activities를 사용하여 capgo/capacitor-live-activities의 자체 기능을 사용하여 capgo/capacitor-live-activities capgo/capacitor-live-activities의 구현 세부 정보를 위해 capgo/capacitor-video-player를 사용하여 capgo/capacitor-video-player의 자체 기능을 사용하여 capgo/capacitor-video-player {"targetLanguage":"Korean","pagePath":"/ko/docs/plugins/webview-crash/","protectedTokens":["Cloudflare","Capacitor","GitHub","Capgo","code","API","SDK","CLI","npm","bun"],"items":[{"text":"@capgo/capacitor-video-player에 대한 구현 세부 정보를 참조하십시오."},{"text":"페이지 편집"}]}