CN105096236B - 一种图片的缩略图加载方法及电子设备 - Google Patents

一种图片的缩略图加载方法及电子设备 Download PDF

Info

Publication number
CN105096236B
CN105096236B CN201510435789.8A CN201510435789A CN105096236B CN 105096236 B CN105096236 B CN 105096236B CN 201510435789 A CN201510435789 A CN 201510435789A CN 105096236 B CN105096236 B CN 105096236B
Authority
CN
China
Prior art keywords
thumbnail
visual zone
gpu
loaded onto
picture frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510435789.8A
Other languages
English (en)
Other versions
CN105096236A (zh
Inventor
陈鸾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing Hammer Numeral Science And Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Hammer Numeral Science And Technology Co Ltd filed Critical Beijing Hammer Numeral Science And Technology Co Ltd
Priority to CN201510435789.8A priority Critical patent/CN105096236B/zh
Publication of CN105096236A publication Critical patent/CN105096236A/zh
Application granted granted Critical
Publication of CN105096236B publication Critical patent/CN105096236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种图片的缩略图加载方法及电子设备,其中方法包括:显示缩略图显示界面,其中,缩略图显示界面具有随用户操作滚动的视觉区域;监控视觉区域的滚动;在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图;将所述待显示缩略图读取至内存,并启动在所述视觉区域绘制待显示缩略图的图片帧;每在绘制N个图片帧时,若检测到待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止绘制下N个图片帧,优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中,并在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧;其中,N≥1且为整数。本申请解决了缩略图显示界面当前需显示的缩略图被绘制灰块的问题。

Description

一种图片的缩略图加载方法及电子设备
技术领域
本发明涉及图片处理技术领域,具体涉及一种图片的缩略图加载方法及电子设备。
背景技术
图片的缩略图是指对图片进行压缩处理后的小图,缩略图一般包含有指向完整大小图片的超链接;如在加载电子设备中的照片等图片时,可先将图片的缩略图加载显示在电子设备屏幕中,用户点击加载显示的缩略图后,可通过缩略图指向的超链接,显示缩略图对应的完整图片。
用户通过缩略图可快速、准确地定位到需要查看的图片,为用户查找感兴趣的图片提供了便捷的途径,因此如何更好的将图片的缩略图加载至电子设备屏幕中,一直是本领域技术人员关注的研究点。
缩略图至电子设备屏幕的加载,一般由电子设备的CPU(Central ProcessingUnit,中央处理器)等处理器控制GPU(图形处理器)的工作实现;具体的,CPU可先将硬盘、SD卡、网络等图片存储源中的缩略图读取到内存中,而后CPU控制内存中的缩略图加载到GPU中,进而CPU控制GPU将所加载的缩略图绘制在电子设备屏幕上,实现缩略图至电子设备屏幕的加载。
本发明的发明人在研究过程中发现,目前在实现缩略图加载至电子设备屏幕的过程中,如果屏幕中的缩略图显示界面当前需显示的某一缩略图未加载到GPU时,处理器将控制GPU在缩略图显示界面的该缩略图的显示区域绘制灰块,直至该缩略图被加载至GPU后,才将灰块调整为绘制的缩略图,灰块示意图如图1所示,可参照;缩略图显示界面可以认为是图片浏览应用提供的用于显示缩略图的界面;图片浏览应用如相册应用、图片浏览器等。
可以看出,现有加载缩略图的方式,存在缩略图显示界面当前需显示的缩略图被绘制灰块的情况,导致缩略图显示界面在一定时间内,无法进行缩略图的显示,使得用户无法通过缩略图实现图片的定位。
发明内容
有鉴于此,本发明实施例提供一种图片的缩略图加载方法及电子设备,以解决缩略图显示界面当前需显示的缩略图被绘制灰块的问题,在缩略图显示界面实现当前需显示缩略图的显示,以便于用户通过缩略图快速、准确地定位到需要查看的图片。
为实现上述目的,本发明实施例提供如下技术方案:
一种图片的缩略图加载方法,包括:
显示缩略图显示界面,其中,所述缩略图显示界面具有随用户操作滚动的视觉区域,视觉区域的滚动带动电子设备屏幕当前显示的缩略图的改变;
监控视觉区域的滚动;
在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图;
将所述待显示缩略图读取至内存,并启动在所述视觉区域绘制所述待显示缩略图的图片帧;
每在绘制N个图片帧时,若检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止绘制下N个图片帧,优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中,并在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧;其中,N≥1且为整数。
其中,所述停止绘制下N个图片帧包括:
每在上N个图片帧已绘制,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图时,停止绘制下N个图片帧;
所述在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧包括:
在将所述目标缩略图加载至GPU后,绘制下N个图片帧。
其中,所述停止绘制下N个图片帧还包括:
若当前处于初始的绘制状态,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止第一次N个图片帧的绘制;
所述在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧还包括:
在将所述目标缩略图加载至GPU后,开始第一次N个图片帧的绘制。
其中,所述图片帧为缩略图加载至GPU时,在GPU中生成的纹理;
缩略图的纹理在所述视觉区域的绘制,和缩略图至GPU的加载均由图形库GL线程实现。
其中,所述监控视觉区域的滚动包括:
若在视觉区域停止滚动后,检测到视觉区域的再次滚动,则停止在源视觉区域内加载缩略图,并在再次滚动后的视觉区域中开始加载缩略图;源视觉区域为再次滚动前的视觉区域。
其中,一个缩略图加载在视觉区域的一个缩略图显示区域中,缩略图显示区域的大小为设定值;
所述在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图包括:
确定停止滚动的视觉区域与顶部视觉区域的区域大小差值;
根据所述设定值,确定所述区域大小差值所对应的缩略图数量,得到第一数值;及根据所述设定值,确定停止滚动的视觉区域所对应的缩略图数量,得到第二数值;
将图片存储源中序数范围为第一数值加一至第一数值加第二数值,所对应的缩略图,确定为当前需在所述视觉区域显示的待显示缩略图。
其中,所述将所述待显示缩略图读取至内存包括:
并发启动设定数量的线程将所述待显示缩略图从图片存储源中读取至内存中,其中一个线程读取图片存储源中的一个缩略图至内存中。
本发明实施例还提供一种电子设备,包括:
界面显示模块,用于显示缩略图显示界面,其中,所述缩略图显示界面具有随用户操作滚动的视觉区域,视觉区域的滚动带动电子设备屏幕当前显示的缩略图的改变;
滚动监控模块,用于监控视觉区域的滚动;
待显示缩略图确定模块,用于在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图;
读取并启动模块,用于将所述待显示缩略图读取至内存,并启动在所述视觉区域绘制所述待显示缩略图的图片帧;
绘制加载模块,用于每在绘制N个图片帧时,若检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止绘制下N个图片帧,优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中,并在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧;其中,N≥1且为整数。
其中,所述绘制加载模块包括:
第一停止绘制单元,用于每在上N个图片帧已绘制,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图时,停止绘制下N个图片帧,以优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中;
第一恢复绘制单元,用于在将所述目标缩略图加载至GPU后,绘制下N个图片帧。
其中,所述绘制加载模块还包括:
第二停止绘制单元,用于若当前处于初始的绘制状态,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止第一次N个图片帧的绘制,以优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中;
第二恢复绘制单元,用于在将所述目标缩略图加载至GPU后,开始第一次N个图片帧的绘制。
基于上述技术方案,本发明实施例提供的图片的缩略图加载方法,可在绘制待显示缩略图的图片帧的过程中,逐步实现待显示缩略图中未加载至GPU的缩略图,至GPU的加载;最后达成待显示缩略图均加载至GPU的结果,从而使得加载至GPU的待显示缩略图的图片帧,可绘制在视觉区域中,完成待显示缩略图至视觉区域的加载,解决了缩略图显示界面当前需显示的缩略图被绘制灰块的问题,在缩略图显示界面中实现当前需显示的缩略图的加载显示,从而为便于用户快速、准确地定位到需要查看的图片提供了基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为灰块示意图;
图2为本发明实施例提供的图片的缩略图加载方法的流程图;
图3为本发明实施例提供的视觉区域的滚动示意图;
图4为本发明实施例提供的绘制图片帧的方法流程图;
图5为本发明实施例提供的图片的缩略图加载方法的另一流程图;
图6为本发明实施例提供的确定待显示缩略图的方法流程图;
图7为本发明实施例提供的电子设备的结构框图;
图8为本发明实施例提供的绘制加载模块的结构框图;
图9为本发明实施例提供的绘制加载模块的另一结构框图;
图10为本发明实施例提供的滚动监控模块的结构框图;
图11为本发明实施例提供的待显示缩略图确定模块的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的图片的缩略图加载方法的流程图,该方法可应用于手机、平板电脑、笔记本电脑等电子设备中,以将图片的缩略图加载至电子设备的屏幕中;参照图2,该方法可以包括:
步骤S100、显示缩略图显示界面,其中,所述缩略图显示界面具有随用户操作滚动的视觉区域,视觉区域的滚动带动电子设备屏幕当前显示的缩略图的改变;
用户在开启相册应用、图片浏览器等图片浏览应用时,电子设备的屏幕将显示缩略图显示界面,由缩略图显示界面中显示的缩略图,实现用户对图片的定位;
缩略图主要显示在缩略图显示界面的视觉区域中,用户主要通过视觉区域内展示的缩略图,实现缩略图的查看;
由于缩略图的数量可能较多,所有的缩略图可能无法在单屏大小的视觉区域中展现,因此可设置视觉区域可滚动,且视觉区域的滚动将带动屏幕当前显示的缩略图的改变;
视觉区域的滚动可由用户操作触发;可选的,用户可在滑动屏幕时,随着用户的滑动而带动视觉区域滚动,如用户执行上滑操作时,视觉区域将向下滚动,靠近底部视觉区域;用户执行下滑操作时,视觉区域将向上滚动,靠近顶部视觉区域;
可选的,图3示出了上滑操作情况下,视觉区域的滚动示意图,可参照,如图3所示,视觉区域单屏可显示8个缩略图,随着上滑操作,视觉区域往下滚动,序号为1-4的缩略图被隐藏,停止滚动后的视觉区域显示序号为5-12的缩略图;
可选的,本发明实施例也可设置控制视觉区域滚动的滑块,用户可通过操作滑块控制视觉区域的滚动。
步骤S110、监控视觉区域的滚动;
可选的,可通过监控用户操作,实现对视觉区域的滚动监控;如以用户滑动触发视觉区域滚动为例,可监控用户滑动操作的方向和速度,从而确定视觉区域相应的滚动方向和速度,实现视觉区域的滚动监控。
步骤S120、在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图;
在视觉区域停止滚动时,可确定视觉区域的滚动所带动的屏幕所显示的缩略图的改变情况,确定出当前需在视觉区域显示的待显示缩略图;
待显示缩略图的数量为至少一个。
步骤S130、将所述待显示缩略图读取至内存,并启动在所述视觉区域绘制所述待显示缩略图的图片帧;
在视觉区域停止滚动,确定当前需在视觉区域显示的待显示缩略图后,本发明实施例可将所述待显示缩略图从图片存储源中读取至内存,同时,在所述视觉区域启动对所述待显示缩略图的图片帧绘制;可选的,本发明实施例也可在所述待显示缩略图均读取到内存后,再启动对所述待显示缩略图的图片帧绘制。
步骤S140、每在绘制N个图片帧时,若检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止绘制下N个图片帧,优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中,并在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧;其中,N≥1且为整数。
可以看出,本发明实施例并不是在等待待显示缩略图加载到GPU后,才开始在视觉区域中绘制GPU中加载的待显示缩略图;而是忽略待显示缩略图加载到GPU的过程,直接在待显示缩略图读取至内存的同时或之后,开始在视觉区域中绘制待显示缩略图的图片帧;
在绘制图片帧的过程中,本发明实施例可以每绘制N个图片帧为时间单位,在每绘制N个图片帧时,检测所述待显示缩略图中是否存在未加载至GPU的缩略图(数量为至少一个),并在检测到未加载至GPU的缩略图后,可停止绘制下N个图片帧,优先将未加载至GPU的设定数量的缩略图作为目标缩略图,将目标缩略图先加载至GPU后,再恢复绘制下N个图片帧;
可选的,N和设定数量的取值可视实际情况而定,可参照电子设备实际的数据处理能力而定。
可以看出,通过循环执行步骤S140,本发明实施例可在绘制待显示缩略图的图片帧的过程中,逐步实现待显示缩略图中未加载至GPU的缩略图,至GPU的加载;最后达成待显示缩略图均加载至GPU的结果,从而使得加载至GPU的待显示缩略图的图片帧,可绘制在视觉区域中,完成待显示缩略图至视觉区域的加载。
可选的,以设定数量为1为例,则本发明实施例可每在绘制N个图片帧时,若检测到待显示缩略图中存在未加载至GPU的缩略图,可先停止绘制下N个图片帧,优先将其中的一目标缩略图加载至GPU中后,再恢复绘制下N个图片帧。
本发明实施例提供的图片的缩略图加载方法,可在绘制待显示缩略图的图片帧的过程中,逐步实现待显示缩略图中未加载至GPU的缩略图,至GPU的加载;最后达成待显示缩略图均加载至GPU的结果,从而使得加载至GPU的待显示缩略图的图片帧,可绘制在视觉区域中,完成待显示缩略图至视觉区域的加载,解决了缩略图显示界面当前需显示的缩略图被绘制灰块的问题,在缩略图显示界面中实现当前需显示的缩略图的加载显示,从而为便于用户快速、准确地定位到需要查看的图片提供了基础。
可选的,本发明实施例可每在上N个图片帧已绘制时,进行待显示缩略图是否已全部加载至GPU的判断,并在判断出存在未加载至GPU的缩略图后,停止下N个图片帧的绘制,优先将所述设定数量的目标缩略图加载至GPU中,而后再恢复绘制下N个图片帧;
对应的,图4示出了步骤S140的一种可选具体实现方式,图4为本发明实施例提供的绘制图片帧的方法流程图,参照图4,该方法可以包括:
步骤S200、判断上N个图片帧是否已绘制,若是,执行步骤S210,若否,执行步骤S200;
步骤S210、检测所述待显示缩略图中是否存在未加载至GPU的至少一个缩略图,若是,执行步骤S220,若否,执行步骤S230;
步骤S220、停止绘制下N个图片帧,优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中;
步骤S230、绘制下N个图片帧,返回步骤S200。
可以看出,本发明实施例可每在上N个图片帧已绘制,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图时,停止绘制下N个图片帧,从而优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中;并在所述目标缩略图加载至GPU后,绘制下N个图片帧;通过这样的方式,本发明实施例可在绘制待显示缩略图的图片帧的过程中,逐步实现待显示缩略图中未加载至GPU的缩略图,至GPU的加载;从而通过绘制加载至GPU的待显示缩略图的图片帧,实现缩略图在视觉区域中的绘制,完成待显示缩略图至视觉区域的加载。
值得注意的是,在图4基础上,若当前处于初始的绘制状态,还未开始图片帧的绘制,则本发明实施例可在检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图时,直接停止第一次N个图片帧的绘制,优先将设定数量的目标缩略图加载至GPU中后,再开始第一次N个图片帧的绘制。
可选的,本发明实施例绘制所述待显示缩略图的图片帧,可以是具体绘制待显示缩略图在GPU中生成的纹理;纹理为使用OpenGL(Open Graphics Library,开放图形库)绘制内容的基本元素;
进一步,本发明实施例中,缩略图的纹理在所述视觉区域的绘制,和缩略图至GPU的加载可由GL线程(图形库线程)实现;即缩略图纹理由GPU至屏幕的绘制,及缩略图纹理在GPU内的生成,都是由GL线程完成的;其中,GL线程为调用OpenGL接口的操作所在的线程;
对应的,图5示出了本发明实施例提供的图片的缩略图加载方法的另一流程图,参照图5,该方法可以包括:
步骤S300、显示缩略图显示界面,其中,所述缩略图显示界面具有随用户操作滚动的视觉区域,视觉区域的滚动带动电子设备屏幕当前显示的缩略图的改变;
步骤S310、监控视觉区域的滚动;
步骤S320、在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图;
步骤S330、将所述待显示缩略图读取至内存,并启动GL线程在所述视觉区域绘制所述待显示缩略图的纹理;
步骤S340、GL线程每在绘制N帧纹理时,若检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则GL线程停止绘制纹理,GL线程优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中,在GPU中生成所述目标缩略图的纹理;在所述目标缩略图加载至GPU后,GL线程恢复下N帧纹理的绘制;其中,N≥1且为整数。
优选的,N取值为1,设定数量取值为1。
需要说明的是,本发明的发明人在实现本发明的过程中发现,现有技术中缩略图显示区域被绘制灰块的主要原因在于:
当缩略图由图片存储源读取至内存后,现有技术将调用OpenGL接口将内存中的缩略图加载到GPU,以在GPU中生成纹理(以缩略图的纹理在GPU中生成,表示缩略图完成至GPU的加载);同时,将一个缩略图的纹理生成过程作为一个独立的任务提交到GL线程中,有多少个待加载至GPU的缩略图,则有多少个提交到GL线程的任务;由于缩略图至GPU的加载和缩略图纹理至视觉区域的绘制均由GL线程完成,因此视觉区域滚动时,GL线程的主要工作为在视觉区域上绘制缩略图的纹理,且由于视觉区域的滚动,GL线程将不停的进行缩略图纹理的重绘,这使得GL线程无法执行将缩略图加载至GPU,在GPU中生成纹理的动作,导致GL线程中大量生成纹理的任务不能及时完成,因此视觉区域中存在大量的灰块;
基于此现象,本发明实施例不再将生成缩略图的纹理以任务形式提交到GL线程中,而是在视觉区域需显示的待显示缩略图读取至内存之后或同时,GL线程将开始在视觉区域上绘制缩略图的纹理;当GL线程绘制每一帧纹理时(也可是每绘制两帧纹理时,具体每绘制的帧数可视实际情况设定),若检测到待显示缩略图中存在未加载至GPU的缩略图,则GL线程停止绘制下一帧纹理,GL线程优先将未加载至GPU的待显示缩略图中的一目标缩略图加载至GPU,在GPU中生成纹理后,再恢复下一帧纹理的绘制;由此,本发明实施例可在GL线程在视觉区域上绘制待显示缩略图的纹理的过程中,逐步实现待显示缩略图的纹理在GPU中生成,使得待显示缩略图最后均可绘制在视觉区域中,解决了缩略图显示界面当前需显示的缩略图被灰块替代的问题。
为应对视觉区域快速滚动情况下缩略图的加载问题,本发明实施例可在缩略图加载至视觉区域的过程中,维持对视觉区域的滚动监控,并在检测到视觉区域再次滚动时,停止在源视觉区域内加载缩略图,而改为在再次滚动后的视觉区域中开始加载缩略图(缩略图加载过程可如图1步骤S120~步骤S140所示),使得电子设备底层所进行的缩略图加载处理,始终对应视觉区域停止滚动时所显示的缩略图;其中,源视觉区域为再次滚动前的视觉区域。
可选的,一个缩略图加载在视觉区域的一个缩略图显示区域中,缩略图显示区域的大小为设定值;基于此,本发明实施例可以缩略图显示区域的大小确定视觉区域停止滚动时,当前需在所述视觉区域显示的待显示缩略图;
对应的,图6示出了本发明实施例提供的确定待显示缩略图的方法流程图,参照图6,该方法可以包括:
步骤S400、确定停止滚动的视觉区域与顶部视觉区域的区域大小差值;
步骤S410、根据所述设定值,确定所述区域大小差值所对应的缩略图数量,得到第一数值;及根据所述设定值,确定停止滚动的视觉区域所对应的缩略图数量,得到第二数值;
步骤S420、将图片存储源中序数范围为第一数值加一至第一数值加第二数值,所对应的缩略图,确定为当前需在所述视觉区域显示的待显示缩略图。
为便于理解,以视觉区域单屏显示的缩略图数量为8个,且以2行4列的方式展示为例,单屏显示的缩略图数量可以由视觉区域的大小除以缩略图显示区域得到;则顶部视觉区域所显示的缩略图为序号1-8的缩略图,当视觉区域向下滚动一半区域时,停止滚动的视觉区域与顶部视觉区域的区域大小差值可容纳4个缩略图,因此停止滚动的视觉区域所显示的缩略图为序号5-12的缩略图。
可选的,在将待显示缩略图读取至内存的过程中,本发明实施例可采用并发的多线程实现多缩略图至内存的读取,其中一个线程对应一个缩略图至内存的读取;具体的,本发明实施例可并发启动设定数量的线程将所述待显示缩略图从图片存储源中读取至内存中,其中一个线程读取图片存储源中的一个缩略图至内存中。
本发明实施例解决了缩略图显示界面当前需显示的缩略图被绘制灰块的问题,在缩略图显示界面中实现当前需显示的缩略图的加载显示,从而为便于用户快速、准确地定位到需要查看的图片提供了基础。
下面对本发明实施例提供的电子设备进行介绍,下文主要描述的是设置于电子设备内的实现图片的缩略图加载方法的功能模块架构,下文描述内容可与上文描述的图片的缩略图加载方法相互对应参照。
图7为本发明实施例提供的电子设备的结构框图,图7所示的可以是设置于电子设备内的用于实现图片的缩略图加载方法的图片的缩略图加载装置的结构,参照图7,该电子设备可以包括:
界面显示模块100,用于显示缩略图显示界面,其中,所述缩略图显示界面具有随用户操作滚动的视觉区域,视觉区域的滚动带动电子设备屏幕当前显示的缩略图的改变;
滚动监控模块200,用于监控视觉区域的滚动;
待显示缩略图确定模块300,用于在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图;
读取并启动模块400,用于将所述待显示缩略图读取至内存,并启动在所述视觉区域绘制所述待显示缩略图的图片帧;
绘制加载模块500,用于每在绘制N个图片帧时,若检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止绘制下N个图片帧,优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中,并在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧;其中,N≥1且为整数。
可选的,图8示出了本发明实施例提供的绘制加载模块500的一种可选结构,参照图8,绘制加载模块500可以包括:
第一停止绘制单元510,用于每在上N个图片帧已绘制,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图时,停止绘制下N个图片帧,以优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中;
第一恢复绘制单元520,用于在将所述目标缩略图加载至GPU后,绘制下N个图片帧。
可选的,在图8基础上,图9示出了本发明实施例提供的绘制加载模块500的另一种可选结构,参照图9,绘制加载模块500还可以包括:
第二停止绘制单元530,用于若当前处于初始的绘制状态,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止第一次N个图片帧的绘制,以优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中;
第二恢复绘制单元540,用于在将所述目标缩略图加载至GPU后,开始第一次N个图片帧的绘制。
可选的,所述图片帧可以为缩略图加载至GPU时,在GPU中生成的纹理;相应的,绘制所述待显示缩略图的图片帧可以是绘制待显示缩略图在GPU中生成的纹理;
在本发明实施例中,缩略图的纹理在所述视觉区域的绘制,和缩略图至GPU的加载均可由GL线程实现。
可选的,图10示出了本发明实施例提供的滚动监控模块200的一种可选结构,参照图10,滚动监控模块200可以包括:
监控执行单元210,用于若在视觉区域停止滚动后,检测到视觉区域的再次滚动,则停止在源视觉区域内加载缩略图,并在再次滚动后的视觉区域中开始加载缩略图;源视觉区域为再次滚动前的视觉区域。
可选的,一个缩略图加载在视觉区域的一个缩略图显示区域中,缩略图显示区域的大小为设定值;对应的,图11示出了本发明实施例提供的待显示缩略图确定模块300的一种可选结构,参照图11,待显示缩略图确定模块300可以包括:
区域差值确定单元310,用于确定停止滚动的视觉区域与顶部视觉区域的区域大小差值;
数值确定单元320,用于根据所述设定值,确定所述区域大小差值所对应的缩略图数量,得到第一数值;及根据所述设定值,确定停止滚动的视觉区域所对应的缩略图数量,得到第二数值;
待显示图确定单元330,用于将图片存储源中序数范围为第一数值加一至第一数值加第二数值,所对应的缩略图,确定为当前需在所述视觉区域显示的待显示缩略图。
可选的,读取并启动模块400在将待显示缩略图读取至内存时,具体可用于,并发启动设定数量的线程将所述待显示缩略图从图片存储源中读取至内存中,其中一个线程读取图片存储源中的一个缩略图至内存中。
使用本发明实施例提供的电子设备,可解决缩略图显示界面当前需显示的缩略图被绘制灰块的问题,在缩略图显示界面中实现当前需显示的缩略图的加载显示,从而为便于用户快速、准确地定位到需要查看的图片提供了基础。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种图片的缩略图加载方法,其特征在于,包括:
显示缩略图显示界面,其中,所述缩略图显示界面具有随用户操作滚动的视觉区域,视觉区域的滚动带动电子设备屏幕当前显示的缩略图的改变;
监控视觉区域的滚动;
在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图;
将所述待显示缩略图读取至内存,并启动在所述视觉区域绘制所述待显示缩略图的图片帧;
每在绘制N个图片帧时,若检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止绘制下N个图片帧,优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中,并在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧;其中,N≥1且为整数;
其中,一个缩略图加载在视觉区域的一个缩略图显示区域中,缩略图显示区域的大小为设定值;
所述在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图包括:
确定停止滚动的视觉区域与顶部视觉区域的区域大小差值;
根据所述设定值,确定所述区域大小差值所对应的缩略图数量,得到第一数值;及根据所述设定值,确定停止滚动的视觉区域所对应的缩略图数量,得到第二数值;
将图片存储源中序数范围为第一数值加一至第一数值加第二数值,所对应的缩略图,确定为当前需在所述视觉区域显示的待显示缩略图。
2.根据权利要求1所述的图片的缩略图加载方法,其特征在于,所述停止绘制下N个图片帧包括:
每在上N个图片帧已绘制,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图时,停止绘制下N个图片帧;
所述在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧包括:
在将所述目标缩略图加载至GPU后,绘制下N个图片帧。
3.根据权利要求2所述的图片的缩略图加载方法,其特征在于,所述停止绘制下N个图片帧还包括:
若当前处于初始的绘制状态,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止第一次N个图片帧的绘制;
所述在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧还包括:
在将所述目标缩略图加载至GPU后,开始第一次N个图片帧的绘制。
4.根据权利要求2或3所述的图片的缩略图加载方法,其特征在于,所述图片帧为缩略图加载至GPU时,在GPU中生成的纹理;
缩略图的纹理在所述视觉区域的绘制,和缩略图至GPU的加载均由图形库GL线程实现。
5.根据权利要求1-3任一项所述的图片的缩略图加载方法,其特征在于,所述监控视觉区域的滚动包括:
若在视觉区域停止滚动后,检测到视觉区域的再次滚动,则停止在源视觉区域内加载缩略图,并在再次滚动后的视觉区域中开始加载缩略图;源视觉区域为再次滚动前的视觉区域。
6.根据权利要求1-3任一项所述的图片的缩略图加载方法,其特征在于,所述将所述待显示缩略图读取至内存包括:
并发启动设定数量的线程将所述待显示缩略图从图片存储源中读取至内存中,其中一个线程读取图片存储源中的一个缩略图至内存中。
7.一种图片的缩略图加载的电子设备,其特征在于,包括:
界面显示模块,用于显示缩略图显示界面,其中,所述缩略图显示界面具有随用户操作滚动的视觉区域,视觉区域的滚动带动电子设备屏幕当前显示的缩略图的改变;
滚动监控模块,用于监控视觉区域的滚动;
待显示缩略图确定模块,用于在视觉区域停止滚动时,确定当前需在所述视觉区域显示的待显示缩略图;
读取并启动模块,用于将所述待显示缩略图读取至内存,并启动在所述视觉区域绘制所述待显示缩略图的图片帧;
绘制加载模块,用于每在绘制N个图片帧时,若检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止绘制下N个图片帧,优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中,并在所述目标缩略图加载至GPU后,恢复绘制下N个图片帧;其中,N≥1且为整数;
其中,一个缩略图加载在视觉区域的一个缩略图显示区域中,缩略图显示区域的大小为设定值;
所述待显示缩略图确定模块包括:
区域差值确定单元,用于确定停止滚动的视觉区域与顶部视觉区域的区域大小差值;
数值确定单元,用于根据所述设定值,确定所述区域大小差值所对应的缩略图数量,得到第一数值;及根据所述设定值,确定停止滚动的视觉区域所对应的缩略图数量,得到第二数值;
待显示图确定单元,用于将图片存储源中序数范围为第一数值加一至第一数值加第二数值,所对应的缩略图,确定为当前需在所述视觉区域显示的待显示缩略图。
8.根据权利要求7所述的电子设备,其特征在于,所述绘制加载模块包括:
第一停止绘制单元,用于每在上N个图片帧已绘制,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图时,停止绘制下N个图片帧,以优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中;
第一恢复绘制单元,用于在将所述目标缩略图加载至GPU后,绘制下N个图片帧。
9.根据权利要求8所述的电子设备,其特征在于,所述绘制加载模块还包括:
第二停止绘制单元,用于若当前处于初始的绘制状态,且检测到所述待显示缩略图中存在未加载至GPU的至少一个缩略图,则停止第一次N个图片帧的绘制,以优先将所述至少一个缩略图中设定数量的目标缩略图加载至GPU中;
第二恢复绘制单元,用于在将所述目标缩略图加载至GPU后,开始第一次N个图片帧的绘制。
CN201510435789.8A 2015-07-22 2015-07-22 一种图片的缩略图加载方法及电子设备 Active CN105096236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510435789.8A CN105096236B (zh) 2015-07-22 2015-07-22 一种图片的缩略图加载方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510435789.8A CN105096236B (zh) 2015-07-22 2015-07-22 一种图片的缩略图加载方法及电子设备

Publications (2)

Publication Number Publication Date
CN105096236A CN105096236A (zh) 2015-11-25
CN105096236B true CN105096236B (zh) 2018-03-27

Family

ID=54576591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510435789.8A Active CN105096236B (zh) 2015-07-22 2015-07-22 一种图片的缩略图加载方法及电子设备

Country Status (1)

Country Link
CN (1) CN105096236B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947340A (zh) * 2016-03-21 2019-06-28 青岛海信移动通信技术股份有限公司 一种图片加载方法、装置及终端
CN106484755A (zh) * 2016-07-29 2017-03-08 深圳市美贝壳科技有限公司 异步快速加载视频缩略图的方法
CN106572381A (zh) * 2016-11-07 2017-04-19 青岛海信电器股份有限公司 一种图片缩略图的处理方法和智能电视
CN106681667B (zh) * 2017-01-09 2020-07-17 北京安云世纪科技有限公司 一种图片展示方法、装置及移动终端
CN108389153B (zh) * 2018-03-15 2022-03-15 Oppo广东移动通信有限公司 一种视图加载的方法及终端设备
CN109240766A (zh) * 2018-08-31 2019-01-18 北京龙创悦动网络科技有限公司 一种加载图片资源的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192230A (zh) * 2006-11-30 2008-06-04 重庆优腾信息技术有限公司 一种打开和关闭图片浏览窗口的方法及装置
EP2385498A2 (en) * 2002-04-08 2011-11-09 Lg Electronics Inc. Thumbnail image browsing method in an embedded system
CN103996167A (zh) * 2014-05-30 2014-08-20 广州金山网络科技有限公司 一种缩略图的显示方法以及用户设备
CN104007947A (zh) * 2014-05-19 2014-08-27 广州金山网络科技有限公司 一种缩略图显示方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120198386A1 (en) * 2011-01-31 2012-08-02 Nokia Corporation Causing display of thumbnail images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2385498A2 (en) * 2002-04-08 2011-11-09 Lg Electronics Inc. Thumbnail image browsing method in an embedded system
CN101192230A (zh) * 2006-11-30 2008-06-04 重庆优腾信息技术有限公司 一种打开和关闭图片浏览窗口的方法及装置
CN104007947A (zh) * 2014-05-19 2014-08-27 广州金山网络科技有限公司 一种缩略图显示方法及装置
CN103996167A (zh) * 2014-05-30 2014-08-20 广州金山网络科技有限公司 一种缩略图的显示方法以及用户设备

Also Published As

Publication number Publication date
CN105096236A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN105096236B (zh) 一种图片的缩略图加载方法及电子设备
JP2019057298A5 (zh)
US9007300B2 (en) Method and system to control a process with bend movements
EP3221777B1 (en) System and method for timing input sensing, rendering, and display to minimize latency
US8146098B2 (en) Method and apparatus for interfacing with a computer user via virtual thumbnails
US10719914B2 (en) Universal digital content zooming techniques
TWI671647B (zh) 計算頁面首屏描繪時長的方法、裝置及電子設備
AU2009271471A1 (en) Pan and zoom control
TW201337714A (zh) 電子裝置及控制電子裝置的方法
JP2014501996A5 (zh)
WO2008124509A1 (en) Visual command history
CA2792253C (en) Method and system to control a process with bend movements
CN105095157B (zh) 字符串显示方法及装置
US9189138B2 (en) Display control device, storing medium, display system, and display method
CN106527888A (zh) 滑屏查找页面的方法及装置
US20090089705A1 (en) Virtual object navigation
CN108121489A (zh) 工具栏显示控制方法、装置、可读存储介质及计算机设备
TWI269216B (en) Screen display processing apparatus, screen display processing method and storage medium
CN107273374B (zh) 一种下拉窗口的显示方法及装置
US11614845B2 (en) User interface for application interface manipulation
CN106325873A (zh) 多窗口页面显示处理方法及装置
US20150205473A1 (en) Systems and methods for visually scrolling through a stack of items displayed on a device
CN106372137A (zh) 多窗口页面显示处理方法及装置
CN106445274A (zh) 多窗口页面显示处理方法及装置
US20030052963A1 (en) Camera driven virtual workspace management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190122

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: BEIJING ZIJIE TIAODONG NETWORK TECHNOLOGY CO., LTD.

Address before: Room 309 and 310, Building 3, 33 D, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, 100176

Patentee before: Beijing hammer numeral science and technology company limited

TR01 Transfer of patent right