【Kotlin/Android Studio】WebViewのキャッシュを操作する方法!
この記事からわかること
- Kotlin/Android StudioでWebViewの使い方
- キャッシュを操作する方法
- キャッシュをリセット
- キャッシュの上限容量を指定するには?
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
WebViewでキャッシュを操作する方法
WebViewではHTML5のアプリケーションキャッシュに関する設定をすることができるようになっています。画像などのキャッシュではないようなので注意が必要です。
キャッシュを無効にする
キャッシュ自体を使用しないようにするにWebView
からgetSettings
メソッドを使用してWebSettings
を取得し、cacheMode
プロパティにWebSettings.LOAD_NO_CACHE
を渡します。
val webSettings: WebSettings = myWebView.getSettings()
webSettings.cacheMode = WebSettings.LOAD_NO_CACHE
キャッシュを有効にする
キャッシュを明示的に有効するにはcacheMode
プロパティにWebSettings.LOAD_NO_CACHE
を渡します。
webSettings.cacheMode = WebSettings.LOAD_DEFAULT
キャッシュを削除する
キャッシュを削除するにはclearCache
メソッドにtrue
を渡します。
myWebView.clearCache(true)
キャッシュの上限容量を指定する
キャッシュの上限容量を指定するにはsetAppCacheMaxSize
メソッドに容量を渡します。例えば20MBにしたいなら20 * 1024 * 1024
とします。
// キャッシュの上限容量を指定(ここでは20メガバイト)
webSettings.setAppCacheMaxSize(20 * 1024 * 1024)
非推奨になったAPI
Android13から以下のAPIは非推奨になったようです。
// キャッシュを有効にする
webSettings.setAppCacheEnabled(true)
// キャッシュが保存されるパスを設定(アプリのキャッシュディレクトリを使用する例)
webSettings.setAppCachePath(getApplicationContext().getCacheDir().getPath())
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。