Electronのライフサイクル
Electronをアプリを作成する際にライフサイクルを知る必要があります。 どのタイミングでどのような挙動をすべきかの考える時にそれぞれのイベントのタイミングを把握しておきましょう。
platform依存のイベントとlogin系のイベントを除いたライフサイクルは次の様になります。
ライフサイクル
イベントの詳細
各イベントの詳細は次の表のようになります。
イベント | 詳細 |
---|---|
will-finish-launching | 基本的な起動が完了した時のイベント。WindowsとLinuxはreadyイベントと同じ意味を持ちますが、OS Xの場合はapplicationWillFinishLaunchingの通知と同じ意味を持ちます。自動アップデータやクラッシュレポートなどを実施するタイミング。 |
ready | 初期化完了イベント。BrowserWindowのインスタンスを生成し、ウィンドウを表示したりなどを実施する。 |
window-all-closed | すべてのウィンドウを閉じたイベント。全ウィンドウを閉じた時にアプリの終了を促したりを実施する。 |
before-quit | ウィンドウを閉じている最中で、アプリが終了を始めたイベント |
will-quit | ウィンドウが閉じ、アプリ終了前のイベント。 |
quit | アプリ終了中イベント。 |
browser-window-blur | BrowserWindowからフォーカスが外れたイベント。 |
browser-window-focus | BrowserWindowにフォーカスがあたったイベント。 |
browser-window-created | BrowserWindowが作成されたイベント。 |
上記のようなイベントを取得できるため、そのタイミングによって動作を考え実装を行う事になります。
サンプルコード
動きを確認するサンプル