LoginSignup
15

More than 5 years have passed since last update.

Electron終了時にCacheを消す

Posted at

概要

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()の直前の方がよかったような。

参考


  1. 別メソッドでこれらも削除可能 

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15