位置: IT常识 - 正文

Electron打包的桌面应用程序,运行中程序黑屏、白屏等渲染进程崩溃问题解决(electron 打包)

编辑:rootadmin
Electron打包的桌面应用程序,运行中程序黑屏、白屏等渲染进程崩溃问题解决 1. 问题描述

推荐整理分享Electron打包的桌面应用程序,运行中程序黑屏、白屏等渲染进程崩溃问题解决(electron 打包),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:electron打包工具,electron打包exe,electron打包deb,electron打包exe,electron打包exe,electron打包成apk,electron打包deb,electron打包exe,内容如对您有帮助,希望把文章链接给更多的朋友!

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

2. 解决过程2.1 依赖版本:electron:v8.2.1electron-log: v4.1.1electron-packager: v14.2.12.2 运行环境Electron打包的桌面应用程序,运行中程序黑屏、白屏等渲染进程崩溃问题解决(electron 打包)

win7 x86

2.3 分析过程2.3.1 排除

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

2.3.2 寻找规律观察发现:每当程序崩溃时,任务管理器中,此程序的某个进程出了状况(时间久了,不记得具体情况了,当时没有截图)手动复现:任务管理器中,win10关掉electron程序进程内存占用最大的一个(win7的话关掉第二大的),可以复现白屏的效果。进一步发现,手动复现的过程中,实际关掉的是此程序的“渲染进程”。2.3.2 寻找解决方法查找到官方文档中app的事件renderer-process-crashed,当渲染进程webContents崩溃或关闭时触发。鉴于打包后的程序,在崩溃时,无法直接从控制台中拿到log,引入electron-log包(此处不展开),将输出日志记录到本地文件中,在Electron的“入口文件”中,添加下面代码:// 测试一下是否可以捕捉到崩溃的状态app.on("renderer-process-crashed", function (event, webContents, details) { console.error("renderer-process-crashed catched.");});使用上述“手动复现”的方式模拟“白屏”事件发生,查找“日志文件”,查看main.log中输出的内容,发现确实捕捉到了。日志路径:C:\Users\用户名\AppData\Roaming\程序名\logsmain.log:主进程的日志, 入口文件中输出的日志会在这里。renderer.log: 渲染进程的日志,web项目中输出的日志会在这里。既然已经捕捉到了,那么只要在此处对崩溃进行处理就可以了app.on("renderer-process-crashed", function (event, webContents, details) { // 输出一下捕捉到的reason,实际可以根据不同的“原因”进行具体处理 console.error("renderer-process-crashed, reason => ", JSON.stringify(details)); // 基于我在开发的程序本身的设定,此处重启应用就可以了 app.relaunch({args: process.argv.slice(1).concat(['--relaunch'])}); // 尝试关闭所有窗口 app.quit();});结合运维人员的反馈,“白屏”问题没再出现过了。3. 针对上文中内容的一些说明3.1 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#%E4%BA%8B%E4%BB%B6-render-process-gone

3.2 electron-log

参考electron-log的github https://github.com/megahertz/electron-log/

本文链接地址:https://www.jiuchutong.com/zhishi/287998.html 转载请保留说明!

上一篇:vue中的get方法\post方法如何实现传递数组参数(vue get方法)

下一篇:机器学习-10 聚类算法

  • 移动流量包怎么买(移动流量包怎么用不了)

    移动流量包怎么买(移动流量包怎么用不了)

  • 小米机器人怎么连接到手机(小米机器人怎么关机)

    小米机器人怎么连接到手机(小米机器人怎么关机)

  • miui12如何自定义相机布局(miui12.5怎么自定义图标)

    miui12如何自定义相机布局(miui12.5怎么自定义图标)

  • ios13.5发热严重的原因(ios13.7发热严重)

    ios13.5发热严重的原因(ios13.7发热严重)

  • qq音乐mgg格式怎么转mp3格式(QQ音乐MGG格式怎么转换为mp3)

    qq音乐mgg格式怎么转mp3格式(QQ音乐MGG格式怎么转换为mp3)

  • 快充手机充一晚上对手机有影响吗(快充手机充一晚上)

    快充手机充一晚上对手机有影响吗(快充手机充一晚上)

  • 电脑控制键是哪个(电脑的控制按钮)

    电脑控制键是哪个(电脑的控制按钮)

  • 5类和超5类网线区别(5类和超5类网线水晶头)

    5类和超5类网线区别(5类和超5类网线水晶头)

  • xsmax听筒防水吗

    xsmax听筒防水吗

  • qq黄钻对其隐身是什么意思(qq黄钻对其隐身和删痕迹是什么意思)

    qq黄钻对其隐身是什么意思(qq黄钻对其隐身和删痕迹是什么意思)

  • 手机服务器出错怎么办(手机服务器出错502怎么解决)

    手机服务器出错怎么办(手机服务器出错502怎么解决)

  • 为什么qq相册里的照片越来越模糊(为什么qq相册里的视频不能保存到手机里了)

    为什么qq相册里的照片越来越模糊(为什么qq相册里的视频不能保存到手机里了)

  • 华为荣耀9x没有指纹吗(华为荣耀9x没有nfc功能吗)

    华为荣耀9x没有指纹吗(华为荣耀9x没有nfc功能吗)

  • mate30pro是ufs3.0吗(mate30pro ufs3.0)

    mate30pro是ufs3.0吗(mate30pro ufs3.0)

  • 快手怎么把时间关了(快手怎么把时间加长)

    快手怎么把时间关了(快手怎么把时间加长)

  • 华为手机怎样关机(华为手机怎样关闭负一屏)

    华为手机怎样关机(华为手机怎样关闭负一屏)

  • vue视频添加字幕(vue自动生成字幕)

    vue视频添加字幕(vue自动生成字幕)

  • 爱奇艺弹幕颜色怎么改(爱奇艺弹幕颜色为什么不一样了)

    爱奇艺弹幕颜色怎么改(爱奇艺弹幕颜色为什么不一样了)

  • 摩拜单车押金怎么退(摩拜单车押金怎么查询)

    摩拜单车押金怎么退(摩拜单车押金怎么查询)

  • vivox27微信美颜在哪(vivox27微信美颜在哪里开启)

    vivox27微信美颜在哪(vivox27微信美颜在哪里开启)

  • 苹果手机电话本怎么导入卡里(苹果手机电话本联系人不见了怎么恢复)

    苹果手机电话本怎么导入卡里(苹果手机电话本联系人不见了怎么恢复)

  • nullptr和null区别(nullptr was not declared in this scope)

    nullptr和null区别(nullptr was not declared in this scope)

  • 蒙版怎么用(矢量蒙版怎么用)

    蒙版怎么用(矢量蒙版怎么用)

  • iphone下载的视频在哪里(iPhone下载的视频相册不显示)

    iphone下载的视频在哪里(iPhone下载的视频相册不显示)

  • 苹果计时器在哪(苹果计时器怎么计时)

    苹果计时器在哪(苹果计时器怎么计时)

  • PS参考线有什么使用技巧(ps参考线在哪儿)

    PS参考线有什么使用技巧(ps参考线在哪儿)

  • 盛京通怎么用(盛京通怎么用手机充值)

    盛京通怎么用(盛京通怎么用手机充值)

  • 京东限购是什么(京东限购几点刷新)

    京东限购是什么(京东限购几点刷新)

  • 申报未抄税
  • 价外费用含税吗
  • 政府预算会计怎样调整跨年度结转
  • 新公司成立需要刻哪些章
  • 应收票据背书转让分录
  • 收到预付款的发票怎么写摘要
  • 个人所得税能否跨年度
  • 某超市从电器生产厂购进一批电器
  • 房地产公司的利润怎么分析
  • 辅导期一般纳税人
  • 非货币性资产交换补价大于25%的会计处理
  • 计提存货跌价准备是递延所得税资产吗
  • 资产负债表预收预付账款怎么填
  • 分期付款外币采购形成的差异如何做会计处理?
  • 收到客户承兑怎么做账
  • 服务费增值税专用发票税点
  • 代销产品缴纳增值税吗
  • 审计费用需要计什么科目
  • 贸易公司出口退税流程及账务处理
  • 小型微利企业所得税优惠政策2022
  • 可以对开发票吗
  • 文化传媒公司的经营模式怎么写
  • 营业额包括增值税吗
  • 关于非上市公司的法律
  • 每股股份价格
  • 非同一控制下企业合并的交易费用
  • 最新粮食购销企业税务规定
  • 暂估成本一直拿不到发票
  • 进项税额转出会计分录月末如何结转
  • 固定资产管理的论文
  • 不动产抵押合同管辖法院
  • css 栅格
  • 电脑开机时出现用户账户控制提示
  • Win10 20H2/2004 Beta Build 19042.789累积更新补丁KB4598291正式推送
  • AriaNg Native 1.2.4 Aria2图形界面下载工具 中文免费版 32/64位
  • windows安装配置
  • 文本检测工具
  • https是如何保证安全的
  • md5 linux
  • ps换脸后怎样修理痕迹
  • php clob
  • 单位多缴个人社保证明
  • 公司未实缴能破产吗
  • 无盘领发票要怎么办
  • 企业合并兼并收购的区别和联系
  • 用支票偿还货款
  • mockito mock方法
  • python的next()
  • 营改增后的计税方式
  • 哪些凭证是免纳税的
  • sql乘函数
  • 发票税率开错了3%开成5%怎么办?
  • 金税四期上线后对个人的影响
  • 物流公司车辆过户要3万
  • 记账凭证后面附发票第几联
  • 房地产企业收到政府土地补偿款如何入账
  • 结转未交增值税为什么是零
  • 应收账款冲销是什么意思
  • 费用误计入固定资产
  • 美国支票上的收款人地址不对怎么办
  • 固定资产投资方案
  • sql只能查询数据,不能修改数据
  • Windows 2008 R2 AD组策略-统一域用户桌面背景详细图文教程
  • u极速u盘启动官网
  • 应该怎么消除
  • 在linux操作系统中
  • ghost怎么安装gho文件
  • linux系统中安装软件的批处理文件
  • ubuntu如何安装wps
  • win10关闭metro界面
  • perl uc,lc,ucfirst,lcfirst大小写转换函数
  • fedora vlc
  • android内存分析显示
  • asyncio使用
  • 全国退休人员有几多人
  • 东莞税务申报日期
  • 重庆市国税网官方网站
  • 车船税单独交行吗
  • 报企业增值税
  • 国税三所电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设