阅读多页面文档的便携式电子设备及其渲染方法

文档序号:6425792阅读:229来源:国知局
专利名称:阅读多页面文档的便携式电子设备及其渲染方法
技术领域
本发明涉及一种在便携式电子设备上面阅读多页面文档的渲染方法,以及采用这种方法可以快速流畅地阅读多页面文档的便携式电子设备。
背景技术
现实生活中,随着移动设备(即便携式电子设备,比如PDA、智能手机或平板电脑等)的大量普及,在移动设备上阅读PDF之类的多页面文档的需求越来越多。由于PDF之类的多页面文档的页面结构比较复杂、元素种类繁多,而移动设备资源有限,造成在移动设备上显示一个PDF页面需要较长的时间,从而降低了用户的体验效果,因此如何尽可能的加快阅读器的显示速度成为一个需要研究的课题。例如,现有技术中的HF文档在移动设备中的阅读,其中的渲染方式有以下几种(I)在即将显示一个页面的时候再进行页面载入,在主线程中进行页面渲染。缺点是由于缺乏缓冲机制,在每个页面需要显示的时候再进行页面载入,这就造成了页面显示效率低下,用户明显感觉到了页面的载入过程。(2)在显示一个文档的时候将所有页面放到后台渲染线程中进行渲染。缺点是没有一个页面调度机制,造成了用户退出一个文档阅读进入另外的文档阅读的时候后台线程还在渲染上一个文档的页面;如果显示界面调入缩略图窗体的时候,后台还在渲染主显示窗体的页面,那么会造成缩略图加载速度变慢。其中的阅读缓冲方式有以下几种(I) 一次将文档中的所有页面进行读取显示。缺点是由于一次行的将所有页面载入,所以当PDF文档页数较多的时候,会造成加载时间较长;由于在内存中载入大量页面,会造成资源占有量大,程序不稳定。(2)在即将显示页面的时候在读取显示所要显示的页面。缺点是虽然克服了方案一的资源占有量大,程序不稳定的缺点,但是由于在显示一页前才将页面载入,会造成翻页闪烁,用户体验不好。(3)建立一个缓冲队列,将显示过的文档放入队列,这样如果用户要查看已经看过的页面时,可以快速显示。缺点是在缓存页面的时候,没有考虑到用户使用的习惯,仅仅根据查看时间的先后进行页面缓存,页面命中率不高。基于上述现有技术中的缺陷,本发明人创新性地发明了一种可以快速流畅地阅读PDF之类多页面文档的便携式电子设备及其渲染方法。

发明内容
本发明的目的在于为克服现有技术的缺陷,而提供一种可以快速流畅地阅读TOF之类多页面文档的便携式电子设备及其渲染方法。为实现上述目的,本发明采用以下技术方案
一种阅读多页面文档的便携式电子设备,包括处理单元,及与处理单元联接的存储器和显示屏,所述的处理单元包括用于显示多页面文档的Π主线程模块和在后台对所显示页面的前后若干个页面进行渲染的的渲染池模块。其进一步技术方案为所述的Π主线程模块显示至少包括前后各一个页面(也包括当前页面本身)。其进一步技术方案为所述的UI主线程模块还包括用于维护4 12个窗体的阅读缓冲池模块,所述的每个窗体显示一个页 面。其进一步技术方案为所述的每个页面包含时间属性模块,所述的时间属性模块包括用于记录该页面被载入窗体的时间点信息。其进一步技术方案为所述的每个页面还包括空间属性模块,所述的空间属性模块包括用于记录该页面的上下或左右位置的页码信息。其进一步技术方案为所述的多页面文档为PDF文档或TIFF文档。一种阅读多页面文档的渲染方法,该方法是在电子设备的运行后台设有一个渲染池线程,该渲染池线程通过一个任务队列和主Π线程进行交互同步1)渲染线程对当前阅读页面前后各I 9个页面进行渲染;2)渲染线程执行完一个页面的渲染操作后,通知UI主线程重新绘制显示窗体;3)UI主线程绘制显示窗体。其进一步技术方案为设置任务队列,根据用户的阅读需求将渲染任务不断推入到任务队列中,渲染线程不断从任务队列中取任务,执行渲染操作,无任务时,渲染线程处于睡眠状态;切换不同的多页面文档时,将原有的多页面文档的渲染操作从任务队列中全部清除;在所述的页面中设置有时间属性,记录该页面被载入窗体的时间,并在用户进入新页面时候把时间属性最大的页面换出;在所述的页面设置有空间属性,并在用户进入新页面时候把其上下页面或左右页面载入。其进一步技术方案为所述的多页面文档为PDF文档或TIFF文档,渲染线程是将PDF文档、TIFF文档渲染为JPEG或者BMP格式的图片;在首次进行多页面文档阅读时,UI主线程同步预读取需要显示的页面和与其连接的页面。其进一步技术方案为:UI主线程包括一个具有4 12个窗体的阅读缓冲进程,每个窗体显不一个页面。其进一步技术方案为:UI主线程显示新页面时,在阅读缓冲池中查找该页面是否已经存在,已存在时就将该窗体直接移动到显示区域,不存在时则在阅读缓冲池中删除一个页面之后,将新页面显示并加入阅读缓冲池。本发明与现有技术相比的有益效果是能提高多页面文档阅读的效率,载入页面加快;提高了缩略图和文档的切换效率,可以快速切换缩略图;对多页面文档的渲染操作移到后台执行,界面操作流畅;维护了缓冲队列,页面在小范围内频繁的换入换出时效率较高;不需要将全部页面载入内存,提高了阅读的效率和程序的稳定性。经测试,此种方法可以加大将要换入页面的命中概率,使得阅读流畅、程序稳定。下面结合附图和具体实施例对本发明作进一步描述。


图I为本发明阅读多页面文档的便携式电子设备具体实施例的示意图2为本发明阅读多页面文档(PDF文档)的渲染方法具体实施例的渲染流程图;图3为本发明阅读多页面文档(PDF文档)的渲染方法具体实施例的阅读缓冲图。附图标记说明I处理单元IlUI主线程模块12渲染池模块 13阅读缓冲池模块10 后台2存储器 3显示屏具体实施方式

为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。如图I所示,本发明一种阅读多页面文档的便携式电子设备,包括处理单元1,及与处理单元I联接的存储器2和显示屏3,处理单元I包括用于显示多页面文档的UI主线程模块11和在后台10对所显示页面的前后若干个页面进行渲染的的渲染池模块12。UI主线程模块11显示至少包括前后各一个页面(也包括当前页面本身)。另外,Π主线程模块还包括一个阅读缓冲池模块13,该阅读缓冲池模块13维护4 12个窗体,每个窗体显示一个页面。这些窗体可以缩略图的形式显示,以提供用户随时调取当前页面的前后相邻页面。其中,多页面文档中的每个页面包含时间属性模块,时间属性模块包括用于记录该页面被载入窗体的时间点信息。每个页面还包括空间属性模块,所述的空间属性模块包括用于记录该页面的上下或左右位置的页码信息。多页面文档主要是指PDF文档或TIFF文档。如图2所示,本发明一种阅读多页面文档(本例中为PDF文档)的渲染方法,该方法是在电子设备的运行后台设有一个渲染池,该渲染池通过一个任务队列和主Π线程进行交互同步I)渲染线程在渲染池中对当前阅读页面前后各5个页面进行渲染;2)当前阅读页面的渲染任务被不断推入到任务队列中,渲染池中的渲染线程不断从任务队列中取任务,执行渲染操作,无任务时,渲染线程处于睡眠状态,也即当前PDF页面的渲染任务被不断推入到任务队列中,渲染池中的渲染线程不断从任务队列中取任务,如果有任务就执行渲染操作,如果没有该线程就睡眠;3)渲染线程执行完一个页面的渲染操作后,通知UI主线程重新绘制显示窗体;4)切换不同PDF文档时,原有的PDF文档的渲染操作从任务队列中全部清除。其中的渲染线程从任务队列的头部取任务进行渲染。如果用户调出缩略图列表,则将该缩略图中的渲染需求推入到任务列表头部,使得其先被执行。也即如果用户切换了文档,UI主线程马上将存在于任务队列中的任务清空再退让当前文档的渲染任务,如果用户调出缩略图列表,则将该缩略图中的渲染需求推入到任务列表头部,使得其先被执行。渲染的具体步骤为步骤201 开始阅读PDF文档;步骤202 :推入显示页面和其上下或左右各五个页面渲染任务到任务队列中;
步骤203 :渲染页面;步骤204 :接到渲染成功的消息;步骤205 :重绘显示界面;步骤206 :判断是否切换文档,不切换文档时,进入步骤208,切换文档时,进入步骤 207 ;步骤207 :删除任务列表中的过期任务;步骤208 :判断是否结束阅读,若不结束阅读时,重新进入步骤203,进行页面的泻染,若结束阅读时,则进入阅读结束的步骤209 ;
步骤209:阅读结束。如图3所示,其中的阅读缓冲流程为在首次进行PDF文档阅读时,Π主线程同步预读取需要显示的页面和其前后(包括上下方向或左右方向的页面)各一个页面(这样做的原因是对第一个页面进行显示的时候不会存在闪烁的问题)。也即首次进行文档查看的时候,同步预读取需要显示的页面和其左右各一个页面,这样做的原因是对第一个页面进行显示的时候不会存在闪烁的问题。还包括一个具有4 12个窗体的阅读缓冲池,每个窗体显示一个页面。Π主线程显示新页面时,在阅读缓冲池中查找该页面是否已经存在,已存在时就将该窗体直接移动到显示区域,不存在时则在阅读缓冲池中删除一个页面之后,将新页面显示并加入阅读缓冲池。删除页面时选择离当前页面最远的页面(即从空间上选择)或选择查看时间最长的页面(即从时间上选择)。优先选择删除离当前页面最远的页面。阅读缓冲的具体步骤为步骤301 开始阅读PDF文档;步骤302 :预先读取3个页面,包括当前页面,以及当前页面的前一页和后一页;步骤303 :判断是否要换页,如果不换页,则进入步骤306阅读结束;如何换页的话,则将新窗口加入阅读缓冲池(即步骤304);步骤304 :将新窗口加入阅读缓冲池;步骤305 :在渲染池中将前后各5个页面渲染为图片;步骤306:阅读结束。综上所述,能提高多页面文档阅读的效率,载入页面加快;提高了缩略图和文档的切换效率,可以快速切换缩略图;对多页面文档的渲染操作移到后台执行,界面操作流畅;维护了缓冲队列,页面在小范围内频繁的换入换出时效率较高;不需要将全部页面载入内存,提高了阅读的效率和程序的稳定性。以上所述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
权利要求
1.一种阅读多页面文档的便携式电子设备,包括处理单元,及与处理单元联接的存储器和显示屏,其特征在于所述的处理单元包括用于显示多页面文档的Π主线程模块和在后台对所显示页面的前后若干个页面进行渲染的的渲染池模块。
2.根据权利要求I所述的阅读多页面文档的便携式电子设备,其特征在于所述的Π主线程模块显示至少包括前后各一个页面。
3.根据权利要求2所述的阅读多页面文档的便携式电子设备,其特征在于所述的UI主线程模块还包括用于维护4 12个窗体的阅读缓冲池模块,所述的每个窗体显示一个页面。
4.根据权利要求3所述的阅读多页面文档的便携式电子设备,其特征在于所述的每个页面包含时间属性模块,所述的时间属性模块包括用于记录该页面被载入窗体的时间点信息。
5.根据权利要求3所述的阅读多页面文档的便携式电子设备,其特征在于所述的每个页面还包括空间属性模块,所述的空间属性模块包括用于记录该页面的上下或左右位置的页码息。
6.一种阅读多页面文档的渲染方法,其特征在于该方法是在电子设备的运行后台设有一个渲染池线程,该渲染池线程通过一个任务队列和主Π线程进行交互同步 1)渲染线程对当前阅读页面前后各I 9个页面进行渲染; 2)渲染线程执行完一个页面的渲染操作后,通知Π主线程重新绘制显示窗体; 3)UI主线程绘制显示窗体。
7.根据权利要求6所述的阅读多页面文档的渲染方法,其特征在于 设置任务队列,根据用户的阅读需求将渲染任务不断推入到任务队列中,渲染线程不断从任务队列中取任务,执行渲染操作,无任务时,渲染线程处于睡眠状态; 切换不同的多页面文档时,将原有的多页面文档的渲染操作从任务队列中全部清除;在所述的页面中设置有时间属性,记录该页面被载入窗体的时间,并在用户进入新页面时候把时间属性最大的页面换出; 在所述的页面设置有空间属性,并在用户进入新页面时候把其上下页面或左右页面载入。
8.根据权利要求7所述的一种阅读多页面文档的渲染方法,其特征在于所述的多页面文档为PDF文档或TIFF文档,渲染线程是将PDF文档、TIFF文档渲染为JPEG或者BMP格式的图片;在首次进行多页面文档阅读时,UI主线程同步预读取需要显示的页面和与其连接的页面。
9.根据权利要求6所述的一种阅读多页面文档的渲染方法,其特征在于Π主线程包括一个具有4 12个窗体的阅读缓冲进程,每个窗体显示一个页面。
10.根据权利要求9所述的一种阅读多页面文档的渲染方法,其特征在于UI主线程显示新页面时,在阅读缓冲池中查找该页面是否已经存在,已存在时就将该窗体直接移动到显示区域,不存在时则在阅读缓冲池中删除一个页面之后,将新页面显示并加入阅读缓冲池。
全文摘要
本发明公开了一种阅读多页面文档的便携式电子设备,包括处理单元,及与处理单元联接的存储器和显示屏,所述的处理单元包括用于显示多页面文档的UI主线程模块和在后台对所显示页面的前后若干个页面进行渲染的的渲染池模块。本发明能提高多页面文档阅读的效率,载入页面加快;提高了缩略图和文档的切换效率,可以快速切换缩略图;对多页面文档的渲染操作移到后台执行,界面操作流畅;维护了缓冲队列,页面在小范围内频繁的换入换出时效率较高;不需要将全部页面载入内存,提高了阅读的效率和程序的稳定性。经测试,此种方法可以加大将要换入页面的命中概率,使得阅读流畅、程序稳定。多页面文档为PDF或TIFF文档。
文档编号G06F9/46GK102819521SQ20111015257
公开日2012年12月12日 申请日期2011年6月8日 优先权日2011年6月8日
发明者解光军 申请人:深圳市万兴软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1