cef加载占用内存稍大(180M左右)的页面崩溃

storm162578 2017-08-02 11:02:53
cef加载一个占用内存稍大的html会崩溃
Chromium Verison: 44.0.2378.0

可测试html:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script>
function displayDate(){
var arrayObj = new Array(80000000); 
for (var i = 0; i < 80000000; i++) {
arrayObj[i] = "fwefw";
}
document.getElementById("demo").innerHTML=Date();
}
</script>
</head>
<body>

<h1>我的第一个 JavaScript 程序</h1>
<p id="demo">这是一个段落</p>

<button type="button" onclick="displayDate()">显示日期</button>

</body>
</html>

请问有人遇到相似问题或者知道怎么去设置cef运行时的最大内存吗?
...全文
3374 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyboycao 2018-05-31
  • 打赏
  • 举报
回复
楼主,你的解决方案也解决我U3d转webgl后的h5页面显示问题。同时,我也对比了官方的cefclient例子,确实需要启用大地址模式。所以我觉得这可能是解决之道
赵4老师 2017-08-03
  • 打赏
  • 举报
回复
容量大小从小到大:栈≤全局数据≤堆≤文件≤硬盘≤磁盘阵列≤云存储 当程序需要使用比如2GB~1TB左右的存储时,最简单的办法恐怕得是用文件读写模拟内存读写了吧。windows参考_fseeki64函数,linux参考fseeko64函数。
FILE *fA;fA=fopen("A","rb+");_fseeki64(fA,10000000000i64*sizeof(int),SEEK_SET);fputc(fA,0);//int A[10000000000];
int B;
_fseeki64(fA,9999999999i64*sizeof(int),SEEK_SET);fread(&B,1,sizeof(int),fA);//B=A[9999999999];
_fseeki64(fA,9999999999i64*sizeof(int),SEEK_SET);fwrite(&B,1,sizeof(int),fA);//A[9999999999]=B;
fclose(fA);
赵4老师 2017-08-02
  • 打赏
  • 举报
回复
不懂帮顶
storm162578 2017-08-02
  • 打赏
  • 举报
回复
win32程序的默认最大内存为2G,修改vs2012编译器的LARGEADDRESSAWARE属性改大内存可解决此问题: Property Pages->Linker ->System->Enable Large Addresses 虽然解决了问题,但是感觉不是最好的方法,暂不结贴,有更好的可行的方法可给分

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧