文字缓存方法及装置制造方法及图纸

技术编号:12674601 阅读:74 留言:0更新日期:2016-01-07 18:55
本发明专利技术公开了一种文字缓存方法及装置,该方法包括:确定所要缓存的文字的字体所属的字体语言类型;按照文字的字体所属的字体语言类型,给文字分配字体缓存空间,以使得不同的字体语言类型对应的字体所分配的字体缓存空间不固定;将文字的字体位图缓存在字体缓存空间中。通过上述方式,本发明专利技术能够控制内存的占用,尽量使内存得到最优使用。

【技术实现步骤摘要】

本专利技术涉及网页绘制
,特别是涉及一种文字缓存方法及装置
技术介绍
安卓系统的浏览器绘图引擎通过skia实现绘图处理,skia是个二维向量图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现。由于浏览器字体渲染的速度比较慢,效率很低,所以skia带有一套字体位图缓存方案,从而提升浏览器文字渲染效率。字体位图缓存需要占用一定的内存空间,skia的字体位图缓存方案采用一刀切策略,即对于不同的语言字体,其分配的缓存空间的大小完全一样。skia的字体位图缓存方案虽然提升浏览器文字渲染效率,但是,该字体位图缓存方案使得缓存空间无法得到最优使用,造成一定的缓存空间浪费。
技术实现思路
本专利技术主要解决的技术问题是提供一种文字缓存方法及装置,能够控制内存的占用,尽量使内存得到最优使用。为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种文字缓存方法,包括:确定所要缓存的文字的字体所属的字体语言类型;按照所述文字的字体所属的字体语言类型,给所述文字分配字体缓存空间,以使得不同的所述字体语言类型对应的字体所分配的字体缓存空间不固定;将所述文字的字体位图缓存在所述字体缓存空间中。其中,所述方法还包括:确定所述文字当前所应用的网页的页面编写特点;从所述文字当前所应用的网页的页面编写特点确定所述网页的页面文字的大小所集中的区间范围;判断所述文字是否属于所述网页的页面文字的大小所集中的区间范围;若属于所述网页的页面文字的大小所集中的区间范围,则增加所述文字的字体缓存空间的大小,若不属于所述网页的页面文字的大小所集中的区间范围,则减少所述文字的字体缓存空间的大小。其中,所述方法还包括:从所述用户设置的系统语言确定所述用户浏览网页的字体语言类型;判断所述文字是否属于所述用户浏览网页的字体语言类型;若属于所述用户浏览网页的字体语言类型,则增加所述文字的字体缓存空间的大小,若不属于所述用户浏览网页的字体语言类型,则减少所述文字的字体缓存空间的大小。其中,所述字体缓存空间是哈希表空间。其中,所述按照所述文字的字体所属的字体语言类型,给所述文字分配字体缓存空间的步骤之前,包括:根据字体的位图信息,对所述字体的字体位图进行分类,获得至少一个类别,所述字体的位图信息包括所述字体的来源文件、所述字体的大小、所述字体的形状、字体颜色以及所述字体的绘图参数;创建与所述至少一个类别相对应的所述哈希表空间,以使得每个相同类别的字体位图由各自的所述哈希表进行管理。其中,所述方法还包括:若所述哈希表空间的数量为两个以上,且所述两个以上的哈希表空间的总大小达到缓存阈值,则将所述最久没有使用的哈希表空间删除。其中,所述若所述哈希表空间的数量为两个以上,且所述两个以上的哈希表空间的总大小达到缓存阈值,则将所述最久没有使用的哈希表空间删除的步骤,包括:将所述两个以上的哈希表空间的哈希表关联在一个双向链表中;当查找字体位图时,将所述查找到的字体位图所对应的哈希表空间的哈希表放置在所述双向链表的前面;若所述两个以上的哈希表空间的总大小达到缓存阈值,则将所述双向链表后面的哈希表所对应的哈希表空间删除。其中,所述方法还包括:根据当前可用内存,设定所述缓存阈值。为解决上述技术问题,本专利技术采用的另一个技术方案是:提供一种文字缓存装置,所述装置包括:第一确定模块,用于确定所要缓存的文字的字体所属的字体语言类型;分配模块,用于按照所述文字的字体所属的字体语言类型,给所述文字分配字体缓存空间,以使得不同的所述字体语言类型对应的字体所分配的字体缓存空间不固定;缓存模块,用于将所述文字的字体位图缓存在所述字体缓存空间中。其中,所述装置还包括:第二确定模块,用于确定所述文字当前所应用的网页的页面编写特点;第三确定模块,用于从所述文字当前所应用的网页的页面编写特点确定所述网页的页面文字的大小所集中的区间范围;第一判断模块,用于判断所述文字是否属于所述网页的页面文字的大小所集中的区间范围;第一调整模块,用于在属于所述网页的页面文字的大小所集中的区间范围时,增加所述文字的字体缓存空间的大小,在不属于所述网页的页面文字的大小所集中的区间范围时,减少所述文字的字体缓存空间的大小。其中,所述装置还包括:第四确定模块,用于从所述用户设置的系统语言确定所述用户浏览网页的字体语言类型;第二判断模块,用于判断所述文字是否属于所述用户浏览网页的字体语言类型;第二调整模块,用于在属于所述用户浏览网页的字体语言类型时,增加所述文字的字体缓存空间的大小,在不属于所述用户浏览网页的字体语言类型时,减少所述文字的字体缓存空间的大小。其中,所述字体缓存空间是哈希表空间。其中,所述装置还包括:获得模块,用于根据字体的位图信息,对所述字体的字体位图进行分类,获得至少一个类别,所述字体的位图信息包括所述字体的来源文件、所述字体的大小、所述字体的形状、字体颜色以及所述字体的绘图参数;创建模块,用于创建与所述至少一个类别相对应的所述哈希表空间,以使得每个相同类别的字体位图由各自的所述哈希表进行管理。其中,所述装置还包括删除模块,所述删除模块用于在所述哈希表空间的数量为两个以上,且所述两个以上的哈希表空间的总大小达到缓存阈值时,将所述最久没有使用的哈希表空间删除。其中,所述删除模块包括:关联单元,用于将所述两个以上的哈希表空间的哈希表关联在一个双向链表中;放置单元,用于当查找字体位图时,将所述查找到的字体位图所对应的哈希表空间的哈希表放置在所述双向链表的前面;删除单元,用于在所述两个以上的哈希表空间的总大小达到缓存阈值时,将所述双向链表后面的哈希表所对应的哈希表空间删除。其中,所述装置还包括设定模块,所述设定模块用于根据当前可用内存,设定所述缓存阈值。本专利技术的有益效果是:区别于现有技术的情况,本专利技术确定所要缓存的文字的字体所属的字体语言类型;按照文字的字体所属的字体语言类型,给文字分配字体缓存空间,以使得不同的字体语言类型对应的字体所分配的字体缓存空间不固定;将文字的字体位图缓存在字体缓存空间中。由于在分配字体缓存空间时,是根据文字的字体所属的字体语言类型来分配的,这样可以使得不同的字体语言类型对应的字体所分配的字体缓存空间不固定,通过这种方式,可以控制内存的占用,能够尽量使内存得到最优使用。【附图说明】图1是本专利技术文字缓存方法一实施方式的流程图;图2是本专利技术文字缓存方法另一实施方式的流程图;图3是本专利技术文字缓存方法又一实施方式的流程图;图4是本专利技术文字缓存方法又一实施方式的流程图;图5是本专利技术文字缓存方法又一实施方式的流程图;图6是本专利技术文字缓存装置一实施方式的结构示意图;图7是本专利技术文字缓存装置另一实施方式的结构示意图;图8是本专利技术文字缓存装置又一实施方式的结构示意图;图9是本专利技术文字缓存装置又一实施方式的结构示意图;图10是本专利技术文字缓存装置又一实施方式的结构示意图。【具体实施方式】下面结合附图和实施方式对本专利技术进行详细说明。参阅图1,图1是本专利技术文字缓存方法一实施方式的流程图,本实施方式默认字体缓存空间已经创建完毕,该方法包括:步骤SlOl:确定所要缓存的文字的字体所属的字体语言类型。字体语言类型是指文字的字体为中文、英文、德文、日文、韩文、法文等等语言类型。不同语言类型的字体本文档来自技高网...

【技术保护点】
一种文字缓存方法,其特征在于,包括:确定所要缓存的文字的字体所属的字体语言类型;按照所述文字的字体所属的字体语言类型,给所述文字分配字体缓存空间,以使得不同的所述字体语言类型对应的字体所分配的字体缓存空间不固定;将所述文字的字体位图缓存在所述字体缓存空间中。

【技术特征摘要】

【专利技术属性】
技术研发人员:梁捷俞永福成国凯
申请(专利权)人:广州市动景计算机科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1