ページ

2009年5月25日月曜日

WebKit検証(31) - キャッシュの利用

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

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ブラウザ向け。

- - - -
次回はモデルを変えて挙動の違いを見てみよう。