Android setAppCacheEnabled Deprecate

Kaia·2023년 3월 20일
post-thumbnail

파트너 사에서 Android 네이티브앱에 targetSDK 33(Android 13)을 배포할 예정이며, targetSDK 33(Android 13) 적용 시 WebView 설정 중 다음 사항이 Deprecate되어 삭제될 예정이었다. ('23.2월 말 예정)

mWebView.getSettings().setAppCacheEnabled(true)

  • setAppCacheEnabled 는 Android Webview에서 AppCache 사용 여부에 대한 설정.

  • 현재 서비스 내 AppCache 이용해 구현된 기능은 없는 것으로 확인 됨.

  • Chrome 85 버전부터 보안 등의 이유로 AppCache 지원 종료

  • Android WebView도 Chromium기반이기 때문에 AppCache관련 API가 API Level 30부터 Deprecated

  • 따라서 Android 13, compileSdkVersion 33 환경에서 기존에 설정된 AppCache는 동작하지 않으므로 AppCache를 사용하는 기존 애플리케이션은 ServiceWorker를 사용하도록 마이그레이션


AppCache
AppCache was standardized in the Offline Web applications section of the HTML specification. The standard is formally referred to as application caches.
First and foremost, AppCache is a deprecated standard with serious architectural concerns. Second, Chrome's AppCache implementation is a security and stability liability.
Chrome Platform Status

  • AppCache는 offline에서 사용 되는 api이며 구조적, 보안 이슈로 지원 종료 됨.



안드로이드 AppCache 설정

  • setAppCacheEnabled : 앱 내부 캐시 사용 여부 설정
  • setCacheMode : 웹뷰의 캐시 모드를 설정하는 속성으로 5가지 모드 사용 가능
    WebSettings | Android Developers
  • LOAD_DEFAULT : 기본모드. 만료되지 않았으며 사용 가능한 경우에는 캐시를 사용하고, 그렇지 않으면 네트워크를 사용해 로드
  • LOAD_NORMAL : 보통의 캐시 사용 모드
  • LOAD_CACHE_ELSE_NETWORK : 만료된 경우라도 사용 가능한 경우 캐싱된 리소스를 사용하고, 그렇지 않으면 네트워크를 사용해 로드
  • LOAD_NO_CACHE : 캐시를 사용하지 않고 네트워크를 통해서만 로드
  • LOAD_CACHE_ONLY : 네트워크 사용하지 않고 캐시로 로드

0개의 댓글