만족

[Android] WebView ERR_CACHE_MISS 본문

[Android] WebView ERR_CACHE_MISS

FrontEnd/Android Satisfaction 2021. 5. 9. 22:42

에러 화면

 

해결법 1

    <uses-permission android:name="android.permission.INTERNET" />

AndroidManifest.xml 에 INTERNET 권한이 선언되었는지 확인한다.

 

인터넷 권한이 없을 경우 캐시로만 페이지를 로드하게 되는데,

이렇게 되면 방문한 적이 없는(캐시가 없는)페이지에서는 전부 ERR_CACHE_MISS가 발생한다.

 

해결법 2

binding.apply {
            webview.webViewClient= WebViewClient()
            webview.settings.javaScriptEnabled= true
            webview.settings.builtInZoomControls= true
            webview.settings.defaultTextEncodingName= "utf-8"

            //캐시 모드 변경
            webview.settings.cacheMode= WebSettings.LOAD_CACHE_ELSE_NETWORK

            webview.loadUrl("https://www.google.com")
        }

webview.settings.cacheMode를 WebSettings.LOAD_CACHE_ELSE_NETWORK로 설정하여 인터넷이 연결되지 않았을 때만 캐시가 동작하도록 변경한다.

 

단 이 경우, 실제 프로덕션에서는 로드 속도가 느려져 사용자 이탈이 발생할 수 있으므로 필요한 경우에만 사용할 것.



Comments