0

私のクロム拡張機能では、拡張機能の実行中にメモリ内のユーザー設定に変更を加え、拡張機能が終了しようとしているときにのみ設定を (JSON obj として) localStorage に保存したいと思います (バックグラウンド HTML ページを使用します)。私の内線で)。

私は現在、環境設定が変更されるたびに localStorage に書き込みを行っていますが、環境設定の変更ごとにディスクへの書き込みを回避し、終了前に一度だけ行うように、これをより効率的にできるかどうかを調べています。

拡張機能がいつ終了するかを知る方法はありますか、またはこのシナリオを処理するためのより良い方法を知っている人はいますか?

4

1 に答える 1

0

これは役に立ちますか?

 function saveSettings(){
     window.clearTimeout(window.savingSettings);
     return window.savingSettings = window.setTimeout(function(){ 
         ... // write to local storage here.
     },2000)
 };

これにより、次のことが確認されます。

  1. 保存操作の間に少なくとも 2 秒ある
  2. 全体がメインスレッドに対して多少並列化されて実行されます

パフォーマンスがある程度向上するはずですが、落とし穴があります。設定を変更した後、ユーザーが 2 秒待たずにブラウザを閉じた場合、設定は保存されません。

于 2012-06-08T00:47:01.460 に答える