이 플러그인은 이전 Capacitor 웹뷰 프로세스가 죽거나 재활용될 때 네이티브 마커를 저장하고, 앱이 복구된 후 다음 자바스크립트 런타임에 그 마커를 노출합니다. 또한 충돌 후 웹뷰를 네이티브 code에서 다시 시작할 수 있습니다. 또한 자바스크립트가 명시적으로 요청할 때, 또는 cron 스케줄, 또는 고정 간격으로, 장기적인 세션 동안 메모리 쌓임을 피하기 위해 키오스크, POS, 대시보드, 스캐너, 및 시그니지 앱을 도와줍니다. restartWebView()핵심 기능
Core Capabilities
Core Capabilities- iOS 또는 Android에서 렌더러 프로세스가 죽었을 때 WebView를 다시 시작합니다.
- Scheduled restart - 장시간 실행 중인 WebView를 native 타이머를 사용하여 재활용합니다.
restartIntervalMsor a wall-clockrestartCron. - Manual native restart - JavaScript가 페이지를 다시 로드하지 않고 새로운 native WebView를 요청할 수 있습니다.
restartWebView()__CAPGO_KEEP_0__ 설정 - exposes - Typed Capacitor config - Exposes
WebViewCrashPluginConfiginplugins.WebViewCrash- native crash 또는 restart 마커가 저장된 것을 반환하거나capacitor.config.ts. getPendingCrashInfonothing이 pending일 때null- 앱이 상태를 복원한 후 저장된 마커를 삭제합니다.clearPendingCrashInfo__CAPGO_KEEP_0__simulateCrashRecovery- 로컬에서 복구 흐름을 테스트할 수 있도록 가짜 충돌 마커를 생성합니다.addListener- 충돌 마커와webViewRestoredAfterCrashfor any native restart marker.webViewRestoredAfterRestartPublic __CAPGO_KEEP_0__
Public API
Section titled “Public API”| 설명 | 기존의 native 충돌 또는 재시작 마커를 저장하고, |
|---|---|
getPendingCrashInfo | nothing이 pending일 때는 null 기존의 상태를 복원한 후 저장된 마커를 삭제합니다. |
clearPendingCrashInfo | 로컬에서 복구 흐름을 테스트할 수 있도록 가짜 충돌 마커를 생성합니다. |
simulateCrashRecovery | __CAPGO_KEEP_0__ |
restartWebView | Writes reason: 'manualRestart' 그리고 native code에게 새로운 WebView를 생성하도록 요청합니다. |
addListener | Fires webViewRestoredAfterCrash 또는 webViewRestoredAfterRestart 웹뷰가 충돌할 때 __CAPGO_KEEP_0__가 native WebView를 다시 로드하도록 요청합니다. |
removeAllListeners | 웹뷰가 충돌할 때 __CAPGO_KEEP_0__가 native WebView를 다시 로드하도록 요청합니다. |
Fires
또는웹뷰가 충돌할 때 Capacitor가 native WebView를 다시 로드하도록 요청합니다. PluginsConfig 웹뷰가 충돌할 때 __CAPGO_KEEP_0__가 native WebView를 다시 로드하도록 요청합니다. WebViewCrash Fires
export interface WebViewCrashPluginConfig { restartOnCrash?: boolean; restartIntervalMs?: number; restartCron?: string; restartAfterCrashDelayMs?: number;}Notes
Notes- 웹뷰 충돌 복구를 감지합니다. 이 플러그인은 underlying 충돌을 방지하지 않습니다.
- API이 발생할 때, 이전 웹뷰의 메모리 상태는 이미 사라져 있습니다. 새로 생성된 자바스크립트 런타임은 이전 웹뷰의 메모리 상태를 유지하지 않습니다.
- 예약된 재시작은
reason: 'periodicRestart'; 수동 재시작은reason: 'manualRestart'. 저장되지 않은 상태를 저장하기 전에 짧은 재시작 간격, cron 스케줄, 또는restartWebView(). restartCron예를 들어, 기기 로컬 타임존에서 5 필드 cron 구문으로0 3 * * *Android에서 추가 필드인restartCronAndroid에서 추가 필드인restartIntervalMsAndroid에서 추가 필드인0.- Android에서 추가 필드인
didCrash및rendererPriorityAtExit가능합니다. - iOS에서 플러그인은 종료된 WebView 프로세스가 관찰될 때 기록합니다.
appState수동 및 예약된 재시작으로 Capacitor 브릿지 뷰를 재구성하여 새로운WKWebView진실의 근원
제목이 "진실의 근원"인 섹션
이 참조는에서同步됩니다. src/definitions.ts in capacitor-webview-crash.
Keep going from @capgo/capacitor-webview-crash
제목이 ""Keep going from @capgo/capacitor-webview-crash""인 섹션만약에 사용 중이라면 capgo/capacitor-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":"페이지 편집"}]}