CEF Xilium.CefGlue 防止浏览器闪退
2015-07-20 20:47
926 查看
CEF Xilium.CefGlue在打开网页的时候,经常会死掉闪退,频率有可能会频繁到开几个网页就死掉了,在这种情况下使用CEF来开发自己的浏览器应用程序基本上不可能。笔者经过自己的一些使用经历和在交流群群友的分享,找到了解决方法
在CEF 初始化的CefRuntime.Initialize方法传入的CefSettings中,加入如下属性:
settings.WindowlessRenderingEnabled = true;
该属性主要是针对用那种JSUI的控件的网站,如果不启用,浏览器遇到该类网站基本上都会闪退,完整代码如下:
还有就是如果设置了CEF 的CachePath,那么最好是定期清理该目录,防止CachePath过大而影响浏览器的使用。
当然如果有针对浏览器的Cookie操作及处理,最好是设定浏览器保存Cookie文件的目录:browser.SetCookiePath(path);
转自:CEF Xilium.CefGlue 防止浏览器闪退
在CEF 初始化的CefRuntime.Initialize方法传入的CefSettings中,加入如下属性:
settings.WindowlessRenderingEnabled = true;
该属性主要是针对用那种JSUI的控件的网站,如果不启用,浏览器遇到该类网站基本上都会闪退,完整代码如下:
CefRuntime.Load(); var settings = new CefSettings(); . . . . . . //如果不开启好多用那种JSUI的控件的网站 什么的全死 settings.WindowlessRenderingEnabled = true; var args = new string[] { }; var argv = args; if (CefRuntime.Platform != CefRuntimePlatform.Windows) { argv = new string[args.Length + 1]; Array.Copy(args, 0, argv, 1, args.Length); argv[0] = "-"; } var mainArgs = new CefMainArgs(argv); var exitCode = CefRuntime.ExecuteProcess(mainArgs, Global.app); Console.WriteLine("CefRuntime.ExecuteProcess() returns {0}", exitCode); if (exitCode != -1) return exitCode; foreach (var arg in args) { if (arg.StartsWith("--type=")) { return -2; } } CefRuntime.Initialize(mainArgs, settings, Global.app);
还有就是如果设置了CEF 的CachePath,那么最好是定期清理该目录,防止CachePath过大而影响浏览器的使用。
当然如果有针对浏览器的Cookie操作及处理,最好是设定浏览器保存Cookie文件的目录:browser.SetCookiePath(path);
转自:CEF Xilium.CefGlue 防止浏览器闪退
相关文章推荐
- Request failed: unacceptable content-type: text/plain
- Android uevent
- 每天一个小知识点8(jQuer总结二)
- ajaxfileupload动态构造的表单如何清空file的value值
- UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 0: illegal multibyte sequence
- Queue的使用
- 【贪心】 TOJ 4121. Muxiaokui's Problem
- Android系统UI设计之:Widget控件
- toj4121. Muxiaokui's Problem
- 构建一个基于UIView的类别
- FineUi导出时禁用ajax即EnableAjax="false"出现问题的解决方法
- 关于UI功能解锁,UI特效动画,UI tips的再思考
- HDU1005 Number Sequence
- 常用bluetooth协议
- 常用bluetooth协议
- 深入浅出 Java Concurrency (20): 并发容器 part 5 ConcurrentLinkedQueue
- String StringBuffer StringBuilder区别
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
- 深入浅出 Java Concurrency (19): 并发容器 part 4 并发队列与Queue简介