Notice
Recent Posts
Recent Comments
Link
투케이2K
232. (TWOK/ERROR) [Ios] webViewWebContentProcessDidTerminate 메모리 부족 및 앱 백그라운드 전환 시 웹뷰 백화 현상 본문
투케이2K 에러관리
232. (TWOK/ERROR) [Ios] webViewWebContentProcessDidTerminate 메모리 부족 및 앱 백그라운드 전환 시 웹뷰 백화 현상
투케이2K 2024. 4. 8. 19:07[환경 설정 및 설명]
프로그램 : Xcode
설 명 : [Ios] webViewWebContentProcessDidTerminate 메모리 부족 및 앱 백그라운드 전환 시 웹뷰 백화 현상
[에러 원인]
1. 웹뷰 에서 메모리 누수 및 웹뷰가 crash (크래시) 발생 시 백화 현상 발생 (웹뷰 흰색 화면)
>> WKWeview 는 crash 가 나면 WKWebview 만 종료 됨
2. 앱을 장기간 백그라운드 전환 후 다시 재활성 시 웹뷰 백화 현상 발생 (웹뷰 인스턴스 초기화)
[해결 방법]
1. 웹뷰 동작 클래스에서 webViewWebContentProcessDidTerminate 선언 후 해당 이벤트로 웹뷰 종료 이벤트 감지
2. webViewWebContentProcessDidTerminate 발생 시 webview 인스턴스 nil 체크 후 리로드 및 앱 재구동 수행 실시
3. 소스 코드 :
// -----------------------------------------------------------------------------------------
// MARK: - [웹뷰에서 메모리 누수 이벤트 감지]
// -----------------------------------------------------------------------------------------
// 필요 설정 : WKUIDelegate / webView.uiDelegate = self
// -----------------------------------------------------------------------------------------
func webViewWebContentProcessDidTerminate(_ webView: WKWebView){
S_Log._F_(description: "웹뷰 [Terminate] 메모리 부족 이슈 발생", data: nil)
// ----------------------------------------------
// [1] : [웹뷰 리로드 수행]
// ----------------------------------------------
if (self.main_webview != nil){
webView.reload()
}
// ----------------------------------------------
// ----------------------------------------------
// [2] : [해당 발생 시점 조사]
// ----------------------------------------------
/*
1. 앱 라이프 사이클 백그라운드, 포그라운드 상태 시간 저장
2. 앱 포그라운드 상태 인 경우 앱 재구동 수행
*/
// ----------------------------------------------
}
반응형
'투케이2K 에러관리' 카테고리의 다른 글
Comments