浏览器客户端的内存释放的方法以及浏览器客户端的制作方法_2

文档序号:8258822阅读:来源:国知局
的是,上述任一实施例的预设属性是通过浏览器控件检测到所述隐藏标签页进入后台属性,其中所述浏览器控件为WebView控件。
[0038]优选的是,上述任一实施例的调用预设接口是调用特定函数来触发浏览器内核组件,所述特定函数为 GLRenderer:: setVisibiIityCHROMIUMO。
[0039]进一步详细而言,在Android的具体实施例中,调用接口是从浏览器应用中控制标签函数Tab类加一套接口,当Tab被放在后台时,调用这套接口,释放光栅化过程中使用的SharedMemory,接口调用的流程请参考图3。
[0040]图4是Android的代码调用过程的流程图,如图4所示包括:
[0041]步骤S402,浏览器打开一个新标签,则不在当前显示的标签会被设置为putInBackground 属性;
[0042]步骤S404,浏览器中承载页面显示的控件WebView检测到putlnBackground属性时,调用SetVisible来设置页面的显示或者隐藏状态,putlnBackground设置的是隐藏的状态;
[0043]步骤S406,调用WebViewChromium接口设置隐藏状态;
[0044]步骤S408,调用安卓与Chromium的接口 AwContents,设置显示状态;
[0045]步骤S410,同样在接口层调用 AwContents 的 nativeSetViewVisibility 函数引用本地接口 ;
[0046]步骤S412,AwContents:: SetViewVisibility 接口调用;
[0047]步骤S414,调用处理页面植染进程,处理页面显示状态,InprocessViewRenderer::SetViewVisibility ();
[0048]步骤S416,时钟信号触发,设置隐藏状态,SynchronousComposi tor Imp 1:: SetVisible O ;
[0049]步骤S418,图层处理设置隐藏,LayertreehostImpl:: SetVisibility O ;
[0050]步骤S420,调用openGL渲染接口。
[0051 ] 通过上述加入的接口最后会调用chromium内核自己实现的GLRenderer:: setVisibiIityCHROMIUMO。这个函数会触发chromium内核最终释放光栅化过程占用的SharedMemory,释放流程请参考图5。
[0052]本发明的另一面向还提供了一种浏览器客户端。图6是根据本发明实施例的浏览器客户端的结构框图,如图6所示,所述浏览器客户端6包括:侦测模块61、属性设置模块62、及调用模块63,下面详细描述各模块的结构和连接关系。
[0053]侦测模块61用于侦测浏览器客户端的多个标签页被启动,所述多个标签页包括一个当前显示标签页和至少一个非当前显示的隐藏标签页。属性设置模块62用于设置隐藏标签页的预设属性。根据预设属性,调用模块63调用预设接口来触发浏览器内核组件,以释放所述隐藏标签页占用的共享内存。
[0054]属性设置模块62还用于当所述隐藏标签页进入后台达到第一预设时间,则设置隐藏标签页的预设属性为释放共享内存。
[0055]属性设置模块62还用于当所述隐藏标签页在第二预设时间内被触发启动的次数小于预设次数,则设置隐藏标签页的预设属性为释放共享内存。
[0056]在另外不同实施例中,请参考图7,浏览器客户端7还包括提示模块64及/或判断模块65。图7的实施例与图6差别在于多了提示模块64及/或判断模块65。其中一个实施例是,通过判断模块65判断所述被启动的标签页的个数是否大于预设个数,若是,则属性设置模块62设置隐藏标签页的预设属性。另一个实施例是,当侦测模块61侦测到预设数个标签页(例如5个或10个)被启动时,提示模块64显示一提示窗口,提示用户已经开启太多标签页,让用户自行先关闭未使用的标签页。
[0057]优选的是,上述任一实施例的属性设置模块62设置所述预设属性是通过浏览器控件检测到所述隐藏标签页进入后台属性,其中所述浏览器控件为WebView控件。
[0058]优选的是,上述任一实施例的调用模块63是根据预设属性调用特定函数来触发浏览器内核组件,所述特定函数为GLRenderer:: setVisibiIityCHROMIUMO。
[0059]本发明的方法步骤与浏览器客户端的结构特征相对应,可以相互参照,因此不再
--赘述。
[0060]根据本发明的技术方案,通过依次调用多个预设接口触发浏览器内核组件,从而释放浏览器在硬件渲染网页时光栅化占用的共享内存,使得浏览器客户端在硬件渲染时占用更少的内存,使渲染过程更加流畅。
[0061]以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
【主权项】
1.一种浏览器客户端的内存释放的方法,其特征在于,包括: 侦测到浏览器客户端有多个标签页被启动,所述多个标签页包括一个当前显示标签页和至少一个非当前显示的隐藏标签页; 设置隐藏标签页的预设属性; 根据预设属性调用预设接口来触发浏览器内核组件,以释放所述隐藏标签页占用的共享内存。
2.根据权利要求1所述的方法,其特征在于,所述设置隐藏标签页的预设属性,包括: 确定所述隐藏标签页进入后台是否达到第一预设时间; 若是则设置隐藏标签页的预设属性为释放共享内存。
3.根据权利要求1所述的方法,其特征在于,所述设置隐藏标签页的预设属性,包括: 确定所述隐藏标签页在第二预设时间内被触发启动的次数是否小于预设次数; 若是则设置隐藏标签页的预设属性为释放共享内存。
4.根据权利要求1至3任一所述的方法,其特征在于,所述侦测到有多个标签页被启动,包括: 侦测到有多个标签页被启动; 判断所述被启动的标签页的个数是否大于预设个数; 若是,则设置隐藏标签页的预设属性。
5.根据权利要求1所述的方法,其特征在于,所述侦测到有多个标签页被启动为侦测到预设数个标签页被启动,则还包括: 显不一提不窗口 O
6.一种浏览器客户端,其特征在于,包括: 侦测模块,用于侦测浏览器客户端的多个标签页被启动,所述多个标签页包括一个当前显示标签页和至少一个非当前显示的隐藏标签页; 属性设置模块,用于设置隐藏标签页的预设属性; 调用模块,根据预设属性调用预设接口来触发浏览器内核组件,以释放所述隐藏标签页占用的共享内存。
7.根据权利要求6所述的浏览器客户端,其特征在于,所述属性设置模块还包括: 用于当所述隐藏标签页进入后台达到第一预设时间,则设置隐藏标签页的预设属性为释放共享内存。
8.根据权利要求6所述的浏览器客户端,其特征在于,所述属性设置模块还包括: 用于当所述隐藏标签页在第二预设时间内被触发启动的次数小于预设次数,则设置隐藏标签页的预设属性为释放共享内存。
9.根据权利要求6-8任一所述的浏览器客户端,其特征在于,还包括: 判断模块,用于判断所述被启动的标签页的个数是否大于预设个数,若是,则属性设置模块设置隐藏标签页的预设属性。
10.根据权利要求6所述的浏览器客户端,其特征在于,还包括: 提示模块,所述侦测模块侦测到预设数个标签页被启动,该提示模块显示一提示窗口。
【专利摘要】一种浏览器客户端的内存释放的方法,其包括:侦测到浏览器客户端有多个标签页被启动,所述多个标签页包括一个当前显示标签页和至少一个非当前显示的隐藏标签页;设置隐藏标签页的预设属性;根据预设属性调用预设接口来触发浏览器内核组件,以释放所述隐藏标签页占用的共享内存。
【IPC分类】G06F12-02, G06F17-30
【公开号】CN104572950
【申请号】CN201410848504
【发明人】宫成志
【申请人】乐视致新电子科技(天津)有限公司
【公开日】2015年4月29日
【申请日】2014年12月30日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1