概要
XMLHttpRequest
を使うアプリで、
C:\Users\%USERNAME%\AppData\Roaming\package.jsonのnameフィールド\Cache
にファイルが増えていくことを観測した。(発見時で500MBほど溜まっていた)
具体的には「f_*」といったファイル。(ディスクキャッシュ?)
調査しても削除タイミングやしきい値が見つからなかった。
アプリ終了時に削除することにしたが、fs
を使った削除はしたくなかったのでElectronの機能で削除したかった。
削除対象はlocalStorage
などでない通常のキャッシュ。1
どちらかと言えばChrome
(Chromium
)範疇の話だと思います。
詳しい方がいらっしゃいましたら、キャッシュの仕組みをレクチャーしていただきたいものです。
検証環境
- Windows7 Professional 64bit
- electron 1.2.6
- node v5.2.0
コード
var Electron = require('electron')
var BrowserWindow = Electron.BrowserWindow;
var mainWindow = null
Electron.app.on('window-allclosed', function(){
if (process.platoform != 'darwin') {
Electron.app.quit()
}
})
Electron.app.on('ready', function() {
mainWindow = new BrowserWindow()
mainWindow.on('closed', function() {
Electron.session.defaultSession.clearCache(() => {})
mainWindow = null
})
})
今作っているのはウィンドウが一つなので、ウィンドウ終了時に呼び出してますが、Electron.app.quit()
の直前の方がよかったような。
参考
- electron/session.md at master · electron/electron
- how to implement clear cache feature in electron · Issue #4903 · electron/electron
- Google Chrome - ForensicsWiki
-
別メソッドでこれらも削除可能 ↩