« UIEngine | メイン | Googleカレンダーと操作の習慣 »

タイトル未定 キャッシュ等の話(2007/06/09)

Life is beautiful: 「さおだけ」がミリオンセラーになった本当の理由
http://satoshi.blogs.com/life/2007/06/post_1.html

 さてはて、でかける前にエントリーを一つと思い、↑のエントリーを読んでしまい、タイトルが決まらない。今日は良い天気だ。

 <resource>要素の話。

 この要素、便利なのはご存知の通り。例えば画像をキャッシュするのに使う。バックグラウンドで画像をキャッシュすることで、うまくやれば、ダウンロードを意識させずに携帯電話でもスライドショー等ができる。携帯電話もまだまだ回線速度が遅いので、ダウンロード時間が苦痛なときがある。そんなときに使うわけだ。

 とはいっても、端末のメモリは有限で、いくらでもキャッシュできるわけではない。これが厄介。キャッシュが一杯になると、なんらかの法則で削除していく。あまり使われないものから優先的に削除するという仕組。

 例えば、スライドショーを考えよう。画像をA,B,C,D,,,といった具合に表示させるとき、A→B→C→Dとキャッシュするように実装する。こうするとさくさく画像が切り替わるようになる。

 しかしである。Dをキャッシュするときに一杯になると、Aから消される可能性が高い(あくまで可能性、細かい話は今度)。そうすると、

A:表示中
B:次に表示
C:Bの次に表示
D:Cの次に表示、一杯なのでどれか削除、、Aは表示中だからBかな?

といった具合で、Aの次の画像Bを表示させるときには、Bのキャッシュが削除されているのだ。そして、画像Bのダウンロードが始まってしまう。これは意図するところではない。

 そういったことにならないように、メモリサイズも考えつつ適宜実装する必要がある。(※あれ、前にも書いたかな?)

トラックバック

この記事のトラックバックURL:
https://www.typepad.com/services/trackback/6a00d8341c2e2e53ef00e550ab30378834

タイトル未定 キャッシュ等の話を参照しているブログ:

コメント

この記事へのコメントは終了しました。