CEF会遇到的问题

一、资源文件都添加的情况下,debug下开始运行还是会出现崩溃

解决方法:把debug下用到的dll文件和libcef.lib文件都替换成release文件,libcef_dll_wrapper.lib文件除外。

二、flash配置包括路径、文件等都没有问题的情况下,但是flash还是不能正常加载。

解决方法,看一下main函数中的cef的CefInitialize()是否是在main函数一开始就进行设置初始化了,如果没有可以放在开始进行初始化来解决问题,这主要是在duilib中的cef配置会出现问题。

三、 [1201/100152:FATAL:memory.cc(19)] Out of memory. size=4194304 的cef内存溢出错误

解决方法:在cef初始化的时候,把single_process设为false使用多进程模式,单进程模式会导致程序内存溢出

CefSettings settings;
CefSettingsTraits::init(&settings);

settings.single_process = false;                //使用多进程模式

四、cef设置默认缓存

解决方法:

CefSettings settings;
CefSettingsTraits::init(&settings);
TCHAR szSpecialPath[MAX_PATH];
memset(szSpecialPath, '\0', sizeof(szSpecialPath));
if (FALSE != SHGetSpecialFolderPath(NULL, szSpecialPath, CSIDL_PROFILE, FALSE))
{
StringCbCat(szSpecialPath, sizeof(szSpecialPath), _T("\\AppData\\Local\\Temp\\TTkvod"));
CefString(&settings.cache_path).FromString(szSpecialPath, sizeof(szSpecialPath) / 2, true);
}

五、cef启动后一直白屏

解决方法:

查看在CefInitialize()之前是否有应用程序创建实例代码,把cef初始化程序放在创建实例代码之前即可以解决。

你可能感兴趣的:(CEF,C++,DUILIB)