[发明专利]应用于浏览器的内存管理方法、装置、终端及存储介质有效
申请号: | 201810990014.0 | 申请日: | 2018-08-28 |
公开(公告)号: | CN109117274B | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 赵剑萍 | 申请(专利权)人: | OPPO广东移动通信有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 牟慧仙 |
地址: | 523860 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用于 浏览器 内存 管理 方法 装置 终端 存储 介质 | ||
1.一种应用于浏览器的内存管理方法,其特征在于,所述方法包括:
当获取到对应于所述浏览器的运行指令时,获取运行所述浏览器的终端的内存信息,所述内存信息用于指示内存大小;
根据所述终端的内存信息确定所述浏览器的运行方式;
在所述浏览器运行之前,将所述终端的操作系统的内存分配方式调整为自定义的内存分配方式;
注册内存处理回调函数;
按照所述浏览器的运行方式运行所述浏览器;
在所述浏览器的运行过程中,监测所述操作系统向所述浏览器分配内存是否失败;
当监测到所述操作系统向所述浏览器分配内存失败时,通过所述内存处理回调函数向所述浏览器发送分配失败通知,所述分配失败通知用于指示所述操作系统向所述浏览器分配内存失败;
释放所述浏览器的冗余内存;
根据所述浏览器的运行方式对所述浏览器中的目标对象进行重启处理;
其中,所述根据所述内存信息确定所述浏览器的运行方式,包括:当所述终端的内存信息所指示的内存大小大于第一门限时,确定所述浏览器的运行方式为多进程方式;当所述终端的内存信息所指示的内存大小小于第二门限时,确定所述浏览器的运行方式为单进程多线程方式;其中,所述第一门限大于所述第二门限;
当所述浏览器的运行方式为多进程方式时;所述根据所述浏览器的运行方式对所述浏览器中的目标对象进行重启处理,包括:对所述浏览器的目标进程进行重启处理,所述目标进程是除所述浏览器的主进程之外的其它进程;
当所述浏览器的运行方式为单进程多线程方式时;所述根据所述浏览器的运行方式对所述浏览器中的目标对象进行重启处理,包括:对所述浏览器的目标线程进行重启处理,所述目标线程是除所述浏览器的主线程之外的其它线程。
2.根据权利要求1所述的方法,其特征在于,所述冗余内存包括以下一项或多项的组合:浏览器内核所占用的内存、在图片解码过程中所产生的内存、脚本所占用的内存、层叠样式表CSS所占用的内存、在脚本解析过程中所产生的内存、图形处理器GPU所占用的内存。
3.根据权利要求1所述的方法,其特征在于,所述根据所述浏览器的运行方式对所述浏览器中的目标对象进行重启处理之前,还包括:
检测释放所述浏览器的冗余内存的释放次数是否小于预设次数;
若所述释放次数不小于所述预设次数,则执行所述根据所述浏览器的运行方式对所述浏览器中的目标对象进行重启处理的步骤。
4.一种应用于浏览器的内存管理装置,其特征在于,所述装置包括:
浏览器运行模块,用于当获取到对应于所述浏览器的运行指令时,获取运行所述浏览器的终端的内存信息,所述内存信息用于指示内存大小;根据所述终端的内存信息确定所述浏览器的运行方式;在所述浏览器运行之前,将所述终端的操作系统的内存分配方式调整为自定义的内存分配方式;注册内存处理回调函数;按照所述浏览器的运行方式运行所述浏览器;
内存监测模块,用于在所述浏览器的运行过程中,监测所述操作系统向所述浏览器分配内存是否失败;
内存释放模块,用于当监测到所述操作系统向所述浏览器分配内存失败时,通过所述内存处理回调函数向所述浏览器发送分配失败通知,所述分配失败通知用于指示所述操作系统向所述浏览器分配内存失败;释放所述浏览器的冗余内存;
重启处理模块,用于根据所述浏览器的运行方式对所述浏览器中的目标对象进行重启处理;
其中,所述浏览器运行模块,用于:当所述终端的内存信息所指示的内存大小大于第一门限时,确定所述浏览器的运行方式为多进程方式;当所述终端的内存信息所指示的内存大小小于第二门限时,确定所述浏览器的运行方式为单进程多线程方式;其中,所述第一门限大于所述第二门限;
当所述浏览器的运行方式为多进程方式时;所述重启处理模块,用于:对所述浏览器的目标进程进行重启处理,所述目标进程是除所述浏览器的主进程之外的其它进程;
当所述浏览器的运行方式为单进程多线程方式时;所述重启处理模块,用于:对所述浏览器的目标线程进行重启处理,所述目标线程是除所述浏览器的主线程之外的其它线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于OPPO广东移动通信有限公司,未经OPPO广东移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810990014.0/1.html,转载请声明来源钻瓜专利网。