2011-12-20 10 views
4

Webアプリケーションを埋め込み型または低メモリデバイスで実行する必要がある場合は、実行時にメモリ不足状態を管理するためのJavaScript機能があります。できるだけ多くのメモリを使用してデータをキャッシュできますが、必要に応じてキャッシュ?JavaScriptで実行時にメモリ不足の状態を処理する方法はありますか?

たとえば、サーバー上で繰り返し新しい要求を行うのではなく、データオブジェクトのマップがあるような、ローカル論理データストアを持つアプリケーションがあります。そのキャッシュを、JavaScriptアプリケーションの実行時に決定できる透かしまで埋め込むことができるようにしたいと思います。

これまで何も見つかりませんでしたが、私は何か不足していると思っています。

答えて

3

いいえ。ブラウザはメモリ使用統計情報をJavaScriptに公開しません。

キャッシングを実装しようとしている場合は、JSで独自のキャッシュを実装しようとするよりも、おそらくブラウザのキャッシュを活用するほうがよいでしょう(たとえば、AJAXレスポンスのヘッダーをExpires:とする方が良いでしょう)。

+0

'Expires:'を使うと、サーバからのリソースに対してのみ動作します。キャンバスにレンダリングしなければならない、何かを計算するのに費用がかかるなど、ブラウザで行わなければならない何かをキャッシュしたい場合、メモリ不足のシステムではメモリの問題に遭遇する可能性があります。 – Thayne

1

localstorageまたはIndexDBを使用して、結果をキャッシュすることができます(ほとんどのデバイス/ブラウザでは、実際のサイズ制限がよくわかっています)ので、javascriptでメモリ消費量を知る必要はありません。

phonegap(http://www.phonegap.com)を使用している場合、ネイティブコード内で簡単にメモリ警告を取得し、JavaScriptに送信できます。 DOMをクリアし、必要に応じて後でそれを再計算することが可能ないくつかの状況でこれを行いました。

+0

メモリ警告を受け取ったときにPhoneGapのJavaScriptコードをどのように呼び出しましたか? –

関連する問題