WebPreferecesではキャッシュに関して4つのメソッドを用意している。セッタ/フッタの組なので実質的な情報としては2種類。
setUsesPageCache:
usesPageCache
setCacheModel:
cacheModel
setUsesPageCache: と usesPageCache はキャッシュの利用を制御する。
setCacheModel: と cacheModel はキャッシュ方法(モデル)を制御する。
デフォルトがどうなっているのか調べてみる。
- (void)awakeFromNib
{
WebPreferences* wpref = [_web preferences];
NSLog(@"usesPageCache=%d", [wpref usesPageCache]);
NSLog(@"webCacheModel=%d", [wpref cacheModel]);
:
}
実行結果は次の通り。
WebPrefStudy[1042:10b] usesPageCache=1
WebPrefStudy[1042:10b] webCacheModel=0
キャッシュを利用するようになっていて、キャッシュモデルは 0 が使われている。
キャッシュモデルは3タイプあるようだ。
WebCacheModel として定数定義されている。
enum {
WebCacheModelDocumentViewer = 0,
WebCacheModelDocumentBrowser = 1,
WebCacheModelPrimaryWebBrowser = 2
};
typedef NSUInteger WebCacheModel;
ドキュメントによれば、用途とボリュームによって使い分けるようだ。
WebCacheModelDocumentViewerは、(一般のWebブラウザで行えるリンククリックなどの操作を伴わない)単純な文書ビューア向けのモデル。メモリ利用はこれが一番少ない。
WebCacheModelDocumentBrowserは、複数の文書を(行ったり来たりしつつ)見るような用途向け。
WebCacheModelPrimaryWebBrowserは、多くの文書を扱う用途で利用する。Webブラウザ向け。
- - - -
次回はモデルを変えて挙動の違いを見てみよう。