Electron桌面应用运行中程序黑屏、白屏等渲染进程崩溃问题解决

Home / Article MrLee 6天前 20

1. 问题描述

使用Electron打包web项目为桌面应用程序,由于运行环境的硬件条件或其他一些原因,导致程序运行过程中黑屏、白屏、崩溃。

程序本身运行不会“白屏”,但运行长时间后,会偶尔出现“白屏”情况,重启程序,可以正常显示。故而排除开发的程序本身存在严重问题的可能。

查找到官方文档中app的事件renderer-process-crashed,当渲染进程webContents崩溃或关闭时触发。

renderer-process-crashed

返回:

event {Event}

webContents {WebContents}

killed {boolean}

当渲染器进程webContents崩溃或关闭(杀死)时触发。

已废弃:在新的electron版本中,已经被render-process-gone替代

参考Electron官方API文档 https://www.electronjs.org/zh/docs/latest/api/app#事件-render-process-gone

事件: 'render-process-gone'

返回:

event Event

webContents WebContents

details RenderProcessGoneDetails

渲染器进程意外消失时触发。 这种情况通常因为进程崩溃或被杀死。

  app.on("render-process-gone", function (_, _web, details) {
    // 输出一下捕捉到的reason,实际可以根据不同的“原因”进行具体处理
    console.error("renderer-process-crashed, reason => ", JSON.stringify(details));
    // 此处重启应用就可以了
    app.relaunch({ args: process.argv.slice(1).concat(["--relaunch"]) });
    // 关闭所有窗口
    app.quit();
  });


本文链接:http://it72.com/12791.htm

推荐阅读
最新回复 (0)
返回