本发明专利技术公开了一种实现图片流畅切换的方法及装置,用于对现有图片浏览过程中的图片加载时机和加载方式进行改进,以解决加载速度慢,切换不流畅的技术问题。本发明专利技术通过对切换目标文件的预解码来加速图片文件的切换,在执行预解码及当前目标文件的解码任务时采用智能解码方式,根据剩余时间和估计的目标文件解码时间,决策对目标文件进行整图解码还是部分解码。通过本发明专利技术能够最大程度地实现图片浏览时,图片的流畅切换,且兼顾图片的显示质量,从而提升用户体验。
【技术实现步骤摘要】
本专利技术涉及图片处理
,尤其涉及一种能够实现图片流畅切换的方法及装置。
技术介绍
在图片浏览器中,当要查看一幅图片时,通常经历如图1所示的几个步骤:I)用户接口(User Interface, UI)线程向后台线程提交图片解码任务;2)后台线程根据图片解码任务对图片进行解码;3)解码完毕后向UI发送更新消息;4) UI处理更新消息时,根据窗口的大小,对解码所得的图片进行缩放以适应窗口大小;5)UI线程在屏幕上绘制图片。当发生图片切换时,现有大多数看图软件为了简便起见,采用的方式都是在切换发生时才提交图片解码任务,而且是做整图解码。在切换发生时才加载图片,会导致体验不流畅,另外在切换较快的情况下,整图解码的图片虽然质量较高,但是跟不上切换的速度,在显示绘制时,仍然只能显示模糊的缩略图给用户,造成不良的使用体验。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种实现图片流畅切换的方法及装置,用于对现有图片浏览过程中的图片加载时机和加载方式进行改进,以解决加载速度慢,切换不流畅的技术问题。为达到上述目的,本专利技术的技术方案是这样实现的:一种实现图片流畅切换的方法,该方法包括:在切换之前对下次切换的目标文件进行预解码;在触发切换后,判断是否已对当前切换的目标文件进行过预解码,若已进行过预解码,则直接显示预解码后的目标文件,并提交下一次切换的目标文件的智能解码任务;若未进行过预解码,则提交当前切换的目标文件的智能解码任务,并提交下一次切换的目标文件的智能解码任务。进一步地,在触发切换之后,判断是否进行过预解码之前,所述方法还包括估计下次切换的触发时间点的步骤;所述智能解码任务根据估计的所述下次切换的触发时间点,计算当前可用于对目标文件进行解码的剩余时间,并估计对目标文件进行解码所需的时间,通过比较所述剩余时间和解码所需时间决策对目标文件进行整图解码还是部分解码,并进行相应地解码。进一步地,在估计获得下次切换的触发时间点后,所述方法还包括:依据预设的门限判断切换速度是否过快,若过快,则提交当前切换的目标文件的缩略图以供用户界面显示,然后再执行所述预解码判断步骤;否则直接执行所述预解码判断步骤。进一步地,在判定已对当前切换的目标文件进行过预解码后,还包括如下步骤:判断预解码是整图解码还是部分解码,若预解码是部分解码,则在提交下一次切换的目标文件的智能解码任务后,还包括提交当前切换的目标文件的整图解码任务的步骤;若预解码是整图解码,则在提交下一次切换的目标文件的智能解码任务后,还包括提交当前切换的目标文件的部分解码任务的步骤。进一步地,在判定未对当前切换的目标文件进行过预解码后,在提交当前切换的目标文件的智能解码任务及提交下一次切换的目标文件的智能解码任务后,还包括:提交当前切换的目标文件的整图解码任务,以及提交当前切换的目标文件的部分解码任务。进一步地,在触发切换之后,判断是否进行过预解码之前,所述方法还包括:清空解码任务队列;终止当前正在执行的所有的解码任务。进一步地,在估计下次切换的触发时间点之前,终止当前正在执行的所有的解码任务的步骤之后,所述方法还包括:清除缓存的非当前切换的目标文件的前后图的解码文件的步骤。进一步地,所述估计下次切换的触发时间点的方法为:对设定次数的切换时间进行统计平均,获得平均切换时间,根据平均切换时间估计下次切换的触发时间点;或根据前一次的切换时间来估计下次切换的触发时间点。基于本专利技术实施例,本专利技术还提供一种实现图片流畅切换的装置,该装置包括:预解码判断模块,用于判断是否已对当前切换的目标文件进行过预解码;第一任务管理模块,用于在已对当前切换的目标文件进行过预解码的情况下,直接提交预解码后的目标文件以供显示,并提交下一次切换的目标文件的智能解码任务;第二任务管理模块,用于在未对当前切换的目标文件进行过预解码的情况下,提交当前切换的目标文件的智能解码任务,并提交下一次切换的目标文件的智能解码任务。进一步地,所述装置还包括:切换时间估计模块,用于在触发切换后,估计下次切换的触发时间点;智能解码模块,用于执行智能解码任务,该模块根据估计的所述下次切换的触发时间点,计算当前可用于对目标文件进行解码的剩余时间,并估计对目标文件进行解码所需的时间,通过比较所述剩余时间和解码所需时间决策对目标文件进行整图解码还是部分解码,并进行相应地解码。进一步地,所述装置还包括:切换速度判断处理模块,用于根据估计的下次切换的触发时间点及预设的门限判断切换速度是否过快,若过快,则提交当前切换的目标文件的缩略图以供用户界面显示,然后指示预解码判断模块执行;否则直接指示预解码判断模块执行。进一步地,所述第一任务管理模块还用于判断预解码是整图解码还是部分解码,若预解码是部分解码,则在提交下一次切换的目标文件的智能解码任务后,还包括提交当前切换的目标文件的整图解码任务的步骤;若预解码是整图解码,则在提交下一次切换的目标文件的智能解码任务后,还包括提交当前切换的目标文件的部分解码任务的步骤;所述第二任务管理模块还用于在提交当前切换的目标文件的智能解码任务及提交下一次切换的目标文件的智能解码任务后,提交当前切换的目标文件的整图解码任务,以及提交当前切换的目标文件的部分解码任务。进一步地,所述装置还包括:任务清除模块,用于在估计下次切换的触发时间点之前,清空解码任务队列;任务打断模块,用于在清空解码任务队列后,终止当前正在执行的所有的解码任务。本专利技术通过对切换目标文件的预解码来加速图片文件的切换,在执行预解码及当前目标文件的解码任务时采用智能解码方式,根据剩余时间和估计的目标文件解码时间,决策对目标文件进行整图解码还是部分解码。通过本专利技术能够最大程度地实现图片浏览时,图片的流畅切换,且兼顾图片的显示质量,从而提升用户体验。附图说明图1为现有技术中图片浏览程序中图片的切换流程图;图2为本专利技术实施例提供的实现图片流畅切换的方法流程图;图3为本专利技术实施例提供的智能解码任务的处理流程图;图4为本专利技术另一实施例提供的实现图片流畅切换的方法流程图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本专利技术进一步详细说明。图2为本专利技术提供的实现图片流畅切换的方法流程图,具体包括如下步骤:步骤201、在触发切换后,估计下次切换的触发时间点;所述切换的触发时间点是指用户通过UI界面触发图片切换的时间点;本专利技术在执行切换目标文件的解码任务之前需要对剩余时间进行判断,根据剩余时间的长短决策执行何种类型的解码,所述剩余时间等于估计的下次切换的触发时间点减去当前切换的触发时间点。估计下次切换的触发时间点的方法可以采用统计平均法,即对设定次数的切换时间进行统计平均,获得平均切换时间,根据平均切换时间估计下次切换的触发时间点;或也可根据前一次的切换时间来估计下次切换的触发时间点,即用当前切换的时间点减去前一次切换的时间点后加当前切换时间点得到估计的下次切换的触发时间点。步骤202、判断是否已对当前切换的目标文件进行过预解码,若是则执行步骤203 ;若否则执行步骤204 ;本专利技术在上一次切换时提交下一次切换的目标文件的解码任务,即对当前切换的目标文件进行预解码,目的是提高切换的速度。当发生图片切换时,如果下一本文档来自技高网...
【技术保护点】
一种实现图片流畅切换的方法,其特征在于,该方法包括:在切换之前对下次切换的目标文件进行预解码;在触发切换后,判断是否已对当前切换的目标文件进行过预解码,若已进行过预解码,则直接显示预解码后的目标文件,并提交下一次切换的目标文件的智能解码任务;若未进行过预解码,则提交当前切换的目标文件的智能解码任务,并提交下一次切换的目标文件的智能解码任务。
【技术特征摘要】
1.一种实现图片流畅切换的方法,其特征在于,该方法包括: 在切换之前对下次切换的目标文件进行预解码; 在触发切换后,判断是否已对当前切换的目标文件进行过预解码,若已进行过预解码,则直接显示预解码后的目标文件,并提交下一次切换的目标文件的智能解码任务;若未进行过预解码,则提交当前切换的目标文件的智能解码任务,并提交下一次切换的目标文件的智能解码任务。2.根据权利要求1所述的方法,其特征在于,在触发切换之后,判断是否进行过预解码之前,所述方法还包括估计下次切换的触发时间点的步骤; 所述智能解码任务根据估计的所述下次切换的触发时间点,计算当前可用于对目标文件进行解码的剩余时间,并估计对目标文件进行解码所需的时间,通过比较所述剩余时间和解码所需时间决策对目标文件进行整图解码还是部分解码,并进行相应地解码。3.根据权利要求2所述的方法,其特征在于,在估计获得下次切换的触发时间点后所述方法还包括: 依据预设的门限判断切换速度是否过快,若过快,则提交当前切换的目标文件的缩略图以供用户界面显示,然后再执行所述预解码判断步骤;否则直接执行所述预解码判断步骤。4.根据权利要求1所述的方法,其特征在于,在判定已对当前切换的目标文件进行过预解码后,还包括如下步骤: 判断预解码是整图解码还是部分解码,若预解码是部分解码,则在提交下一次切换的目标文件的智能解码任务后 ,还包括提交当前切换的目标文件的整图解码任务的步骤;若预解码是整图解码,则在提交下一次切换的目标文件的智能解码任务后,还包括提交当前切换的目标文件的部分解码任务的步骤。5.根据权利要求1所述的方法,其特征在于,在判定未对当前切换的目标文件进行过预解码后,在提交当前切换的目标文件的智能解码任务及提交下一次切换的目标文件的智能解码任务后,还包括: 提交当前切换的目标文件的整图解码任务,以及提交当前切换的目标文件的部分解码任务。6.根据权利要求1所述的方法,其特征在于,在触发切换之后,判断是否进行过预解码之前,所述方法还包括: 清空解码任务队列; 终止当前正在执行的所有的解码任务。7.根据权利要求6所述的方法,其特征在于,在估计下次切换的触发时间点之前,终止当前正在执行的所有的解码任务的步骤之后,所述方法还包括:清除缓存的非当前切换的目标文件的前后图的解码文件的步骤。8.根据权利要求1所述的方法,其特征在于,所述估计...
【专利技术属性】
技术研发人员:高峰,傅斌,杨宝龙,李扬,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。