CN110647378A - 动态图像的加载方法、装置和电子设备 - Google Patents
动态图像的加载方法、装置和电子设备 Download PDFInfo
- Publication number
- CN110647378A CN110647378A CN201910942539.1A CN201910942539A CN110647378A CN 110647378 A CN110647378 A CN 110647378A CN 201910942539 A CN201910942539 A CN 201910942539A CN 110647378 A CN110647378 A CN 110647378A
- Authority
- CN
- China
- Prior art keywords
- frame
- picture
- pictures
- target
- memory
- 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.)
- Pending
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明提出一种动态图像的加载方法、装置和电子设备,其中,方法包括:获取动态图像的文件,其中,文件包括多帧图片,根据文件,确定各帧图片的展示时长,加载多帧图片,将多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到展示时长后,在内存中释放目标图片,将后续需展示的图片更新为目标图片,通过对动态图像文件采用动态加载展示的方式,均衡了电子设备的处理器和内存之间的负载,优化了计算机性能,降低了内存的占用率,以避免图像卡帧或应用程序崩溃的问题,解决了现有技术中直接将动态图像文件加载至内存,导致内存占用过高,图像卡帧或应用程序崩溃的技术问题。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种动态图像的加载方法、装置和电子设备。
背景技术
动态贴纸图片Sticker是动态图片Gif的一种特殊实现,其与Gif的不同之处在于其背景色是透明的,可以更好的跟多种用户场景相结合,比如用户聊天,视频编辑,虚拟现实AR等场景下,其透明的背景不会影响原始视频聊天背景,或者图片等的展现,更好的融入当前场景,丰富内容。
现有技术中,加载Sticker图片时,会将Sticker图片的全部帧都进行加载,导致内存占用过高,系统崩溃,或者CPU占用过高而导致的卡帧。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种动态图像的加载方法,通过对动态图像文件采用动态加载展示的方式,均衡了电子设备的处理器和内存之间的负载,优化了计算机性能,避免了内存占用过高,解决了现有技术中直接将动态图像文件加载至内存,导致内存占用过高,图像卡帧或应用程序崩溃的技术问题。
本发明的第二个目的在于提出一种动态图像的加载装置。
本发明的第三个目的在于提出一种电子设备。
本发明的第四个目的在于提出一种计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种动态图像的加载方法,包括:
获取动态图像的文件,所述文件包括多帧图片;
根据所述文件,确定各帧图片的展示时长;
加载所述多帧图片,将所述多帧图片中的目标图片加载至内存以用于展示,并在所述目标图片展示达到对应展示时长后,在所述内存中释放所述目标图片,将后续需展示的图片更新为目标图片。
可选地,作为本发明第一方面的第一种可能的实现方式,所述将所述多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到对应展示时长后,在所述内存中释放所述目标图片,将后续需展示的图片更新为目标图片,具体包括,具体包括:
将所述多帧图片中需顺序展示的n帧目标图片加载至内存,以依次进行展示;其中,n为正整数;
每当一帧目标图片达到对应的展示时长,在所述内存中释放所述一帧目标图片,并根据所述一帧目标图片在所述多帧图片中的排序i,将所述多帧图片中第(i+n)帧图片更新为所述目标图片。
可选地,作为本发明第一方面的第二种可能的实现方式,所述将所述多帧图片中第i+n帧图片更新为所述目标图片之前,还包括:
确定存在所述第(i+n)帧图片;
所述方法还包括:
若不存在所述第(i+n)帧图片,将所述多帧图片中的第y帧图片作为所述目标图片;其中,y=i+n-x,x为多帧图片的总帧数。
可选地,作为本发明第一方面的第三种可能的实现方式,所述根据所述文件,确定各帧图片的展示时长之后,还包括:
创建数组,所述数组中的一个元素对应所述多帧图片中的一帧;
采用所述数组中的元素,记录所述多帧图片是否已加载至内存。
可选地,作为本发明第一方面的第四种可能的实现方式,所述根据所述文件,确定各帧图片的展示时长,包括:
解析所述文件,得到源数据;所述源数据包括所述多帧图片和各帧图片的展示时长。
为达上述目的,本发明第二方面实施例提出了一种动态图像的加载装置,所述装置包括:
获取模块,用于获取动态图像的文件,所述文件包括多帧图片;
确定模块,用于根据所述文件,确定各帧图片的展示时长;
执行模块,用于加载所述多帧图片,将所述多帧图片中的目标图片加载至内存以用于展示,并在所述目标图片展示达到所述展示时长后,在所述内存中释放所述目标图片,将后续需展示的图片更新为所述目标图片。
可选地,作为本发明第二方面的第一种可能的实现方式,所述执行模块,包括:
加载展示单元,用于将所述多帧图片中需顺序展示的n帧目标图片加载至内存,以依次进行展示;其中,n为正整数;
释放更新单元,用于每当一帧目标图片达到对应的展示时长,在所述内存中释放所述一帧目标图片,并根据所述一帧目标图片在所述多帧图片中的排序i,将所述多帧图片中第(i+n)帧图片更新为所述目标图片。
可选地,作为本发明第二方面的第二种可能的实现方式,所述执行模块,还包括:
确定单元,用于确定存在所述第(i+n)帧图片;
所述确定单元,还用于:
若不存在所述第(i+n)帧图片,将所述多帧图片中的第y帧图片作为所述目标图片;其中,y=i+n-x,x为多帧图片的总帧数。
可选地,作为本发明第二方面的第三种可能的实现方式,所述装置,还包括:
创建模块,用于创建数组,所述数组中的一个元素对应所述多帧图片中的一帧;
记录模块,用于采用所述数组中的元素,记录所述多帧图片是否已加载至内存。
可选地,作为本发明第二方面的第四种可能的实现方式,所述确定模块,具体用于:
解析所述文件,得到源数据;所述源数据包括所述多帧图片和各帧图片的展示时长。
为达上述目的,本发明第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如第一方面所述的动态图像的加载方法。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的动态图像的加载方法。
本发明实施例所提供的技术方案可以包含如下的有益效果:
获取动态图像的文件,其中,文件包括多帧图片,根据文件,确定各帧图片的展示时长,加载所述多帧图片,将所述多帧图片中的目标图片加载至内存以用于展示,并在所述目标图片展示达到所述展示时长后,在所述内存中释放所述目标图片,将后续需展示的图片更新为所述目标图片,通过对动态图像文件采用动态加载展示的方式,均衡了电子设备的处理器和内存之间的负载,优化了计算机性能,降低了内存的占用率,以避免图像卡帧或应用程序崩溃的问题。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种动态图像的加载方法的流程示意图;
图2为本申请实施例所提供的另一种动态图像的加载方法的流程示意图;
图3为动态图像中一帧图像展示的示意图;以及
图4为本发明实施例提供的一种动态图像的加载装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本申请实施例的方法主要应用于列表展示sticker等需要大量展示sticker素材的场景中,例如动态壁纸和/或视频加载的场景,直接对大量素材进行加载,会导致占用过多的内存,甚至会导致应用程序崩溃,因此,本申请提出了一种动态图像的加载方法,文件包括多帧图片,根据文件,确定各帧图片的展示时长,加载多帧图片,将多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到展示时长后,在内存中释放目标图片,将后续需展示的图片更新为目标图片。通过动态加载图片至内存,可以在精准展示sticker包含的信息的同时,均衡了处理器和内存之间的负载,来达到了更好的性能,避免了内存占用过高。
下面参考附图描述本发明实施例的动态图像的加载方法、装置和电子设备。
图1为本发明实施例所提供的一种动态图像的加载方法的流程示意图。
如图1所示,该方法包括以下步骤:
步骤101,获取动态图像的文件,其中,文件文件包括多帧图片。
作为一种可能的实现方式,可以连接远程服务器,将服务器端存储的动态图像的文件,例如为动态贴纸图像sticker文件,加载至本地的存储单元中。
步骤102,根据文件,确定各帧图片的展示时长。
具体地,解析获取到的动态图像的文件,得到源数据,该源数据包括多帧图片和各帧图片的展示时长,例如,对sticker文件进行解析得到CGImageSource的源数据,此源数据可代表一份手机系统中的Sticker图片。
需要说明的是,各帧图片的展示时长可以相同,也可以不相同,本实施例中不进行限定。
步骤103,加载多帧图片,将多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到对应展示时长后,在内存中释放目标图片,将后续需展示的图片更新为目标图片。
本实施例中,是从多帧图片中先加载一部分目标图片至内存中,并对目标图片进行展示,并在目标图片展示完后进行释放,由于目标图片的数量不止一个,而对已经展示完成的目标图片进行释放的方式,本实施例中提供了以下两种可能的实现方式。
作为一种可能的实现方式,可以采用展示完一帧目标图片,释放一帧目标图片,例如,从多帧目标图片中加载了三帧目标图片,分别为多帧图片中第一帧图片,第二帧图片和第三帧图片,第一帧图片展示达到对应时长后,即将第一帧图片进行释放,并将后续需展示的第四帧图片加载至内存中对目标图片进行更新,更新后的目标图片分别为第二帧图片、第三帧图片和第四帧图片,实现了加载一帧释放一帧,又加载后续新的一帧为目标图片。
作为另一种可能的实现方式,可以采用展示完多帧目标图像后,再进行展示完成的多帧目标图片的释放,例如为,从多帧目标图片中加载了三帧目标图片,分别为多帧图片中的第一帧图片,第二帧图片和第三帧图片,在第一种帧图片和第二帧图片均展示达到对应时长后,即将第一帧图片和第二针图像进行释放,并将后续需展示的第四帧和第五帧图片加载至内存中对目标图片进行更新,更新后的目标图片分别为第三帧图片、第四帧图片和第五帧图片,本实施例中是以一次释放两帧为例进行说明的,并不构成对本实施例的限制,实现了一次释放多帧,又加载后续新的多帧为目标图片。
需要说明的是,加载多帧图片中的目标图片至内容中,其中,加载的目标图片的数量,由电子设备的系统环境决定,即由电子设备的内存大小决定,也就是说加载的目标图片的数量和内存呈正比例关系。
本申请实施例的动态图像的加载方法中,获取动态图像的文件,其中,文件包括多帧图片,根据文件,确定各帧图片的展示时长,加载多帧图片,将多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到展示时长后,在内存中释放目标图片,将后续需展示的图片更新为目标图片,通过对动态图像文件采用动态加载展示的方式,均衡了电子设备的处理器和内存之间的负载,优化了计算机性能,避免了内存占用过高,导致卡帧或崩溃的问题。
基于上一实施例,本实施例提供了另一种动态图像的加载方法,为了提高加载的效率,本申请实施例是基于目标图片展示完一帧,即释放一帧,从而更新一帧的方式,图2为本申请实施例所提供的另一种动态图像的加载方法的流程示意图。
如图2所示,该方法可以包括以下步骤:
步骤201,获取动态图像的文件,文件包括多帧图片。
步骤202,根据文件,确定各帧图片的展示时长。
具体可参照上一实施例中的步骤101和102,原理相同,此处不再赘述。
步骤203,创建数组,采用数组中的元素,记录多帧图片是否已加载至内存。
其中,数组中的一个元素对应多帧图片中的一帧。
具体地,预先创建一个数组,采用数组中的一个元素,对应记录多帧图片中的一帧,并通过数组中的元素的符号来记录该帧是否已加载至内存。
例如,动态图像文件中解析得到了10帧图片,则建立一个大小为10个元素的数组来对应表示该10帧图片,例如为下面的数组A,若10帧图片中的第一帧至第三帧图片加载至了内存,则数组A中的第0个至第2个元素不为null,其余元素为null,其中,null代表为空,即不占用内存,其中,第零个元素至第2个元素分别用于指示第一帧至第三帧图片已经加载至内存中,若第一帧图片已经显示达到设定时长,则将数组中的第零个元素置为null,即数组A变化为数组A1,同时,第三个元素指示10帧中的第四帧被加载至内存中,通过生成数组,以用于记录当前哪些帧加载至内存中,下一次需要加载哪一帧。
数组A={m,m,m,null,null,null,null,null,null,null};
数组A1={null,m,m,m,null,null,null,null,null,null};
需要说明的是,数组中元素为null,指示该元素对应的多帧图片中的对应帧没有被加载,数组中元素为m,指示该元素对应的多帧图片中的对应帧处于加载状态。
步骤204,将多帧图片中需顺序展示的n帧目标图片加载至内存,以依次进行展示,每当一帧目标图片达到对应的展示时长,在内存中释放一帧目标图片。
例如,n为5帧,即将多帧图片中需顺序展示的第一帧至第五帧加载至内存,则第一帧至第五帧则为需要顺序展示的目标图片,并依次展示第一帧至第五帧目标图片,具体地,将第一帧目标图片提交给电子设备的图片处理器GPU进行渲染,以在显示器中进行显示,显示器具有预设的刷新频率,例如为每秒60帧,或者是每秒120帧等,并在每次显示器进行刷新时,确定当前显示的帧图片是否达到了对应的展示时长,如果达到了对应的展示时长,则在内存中将该帧释放,如果没有达到对应的展示时长,则即使屏幕刷新,仍然继续显示当前帧,不对当前帧进行释放。
如图3中所示,当前展示界面中展示的狗狗的图片,即为第一帧目标图片,当第一帧目标图片展示达到对应展示时长时,例如为0.2毫秒,则将第一帧目标图片释放,顺序展示下一帧图片,也就是说每展示一帧则释放一帧,实现了已展示的目标图片所占用的内存的及时释放,并在展示下一帧的目标图片时,再加载一帧新的目标图片,提高了加载的效率。
步骤205,根据一帧目标图片在多帧图片中的排序i,判断是否存在第(i+n)帧图片,若存在,执行步骤206,若不存在,执行步骤207。
具体地,每当一帧目标图片展示完成后,根据该一帧目标图片在多帧图片中的排序i,确定下一帧要加载的图片为多帧中的第(i+n)帧图片,并判断是否存在第(i+n)帧图片,例如,多帧图片具体为10帧,加载的目标图片n为5,第一帧至第五帧加载至了内存中,当前展示完的一帧目标图片在10帧图片中的排序i为1,即第一个图片展示完,则查找确定是否存在第(i+n)帧图片即为1+5=6,也就是确定第六帧图片是否存在。
步骤206,将多帧图片中第(i+n)帧图片更新为目标图片。
具体地,若确定多帧图片中的第(i+n)帧图片存在,说明多帧图片中还没有循环执行完毕,因此,将第(i+n)帧图片更新为目标图片,例如,若步骤205中确定的第六帧存在,则将第六帧更新为目标图片,也就是内存中当前加载的是第二帧至第六帧,从而实现了对多帧图片,循环执行加载流程,满足了正常显示的需求,同时还减轻了内存的压力,提高了设备性能。
步骤207,将多帧图片中的第y帧图片作为目标图片,其中,y=i+n-x,x为多帧图片的总帧数。
具体地,若确定多帧图片中的第(i+n)帧图片不存在,则说明第(i+n)帧已经超过了多帧图片的最大帧数,也就是说多帧图片的一个循环已经执行完毕,则需要将多帧图片中的第y帧,y=i+n-x,x为多帧图片的总帧数,例如,多帧图片一共有5帧,即第一帧至第五帧,最大帧数是第五帧,而若当前确定是否存在的是第六帧,超过了第五帧,则从多帧图片中的初始帧,即第一帧开始从新加载,实现了对多帧图片的循环加载。
本实施例的动态图像的加载方法中,获取动态图像的文件,其中,文件包括多帧图片,根据文件,确定各帧图片的展示时长,加载多帧图片,将多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到展示时长后,在内存中释放目标图片,将后续需展示的图片更新为目标图片,通过对动态图像文件采用动态加载展示的方式,均衡了电子设备的处理器和内存之间的负载,优化了计算机性能,避免了内存占用过高,导致卡帧或崩溃的问题。
为了实现上述实施例,本发明还提出一种动态图像的加载装置。
图4为本发明实施例提供的一种动态图像的加载装置的结构示意图。
如图4所示,该装置包括:获取模块41、确定模块42和执行模块43。
获取模块41,用于获取动态图像的文件,文件包括多帧图片。
确定模块42,用于根据文件,确定各帧图片的展示时长。
执行模块43,用于加载所述多帧图片,将多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到所述展示时长后,在内存中释放所述目标图片,将后续需展示的图片更新为目标图片。
进一步地,在本发明实施例的一种可能的实现方式中,上述执行模块43,包括:
加载展示单元,用于将所述多帧图片中需顺序展示的n帧目标图片加载至内存,以依次进行展示;其中,n为正整数。
释放更新单元,用于每当一帧目标图片达到对应的展示时长,在内存中释放一帧目标图片,并根据一帧目标图片在多帧图片中的排序i,将多帧图片中第(i+n)帧图片更新为目标图片。
作为一种可能的实现方式,上述执行模块43,还包括:
确定单元,用于确定存在第(i+n)帧图片。
确定单元,还用于:
若不存在第(i+n)帧图片,将多帧图片中的第y帧图片作为目标图片;其中,y=i+n-x,x为多帧图片的总帧数。
作为一种可能的实现方式,所述装置,还包括:
创建模块,用于创建数组,数组中的一个元素对应所述多帧图片中的一帧。
记录模块,用于采用数组中的元素,记录多帧图片是否已加载至内存。
作为一种可能的实现方式,上述确定模块42,具体用于:
解析文件,得到源数据,源数据包括多帧图片和各帧图片的展示时长。
需要说明的是,前述对动态图像的加载方法实施例的解释说明也适用于该实施例的动态图像的加载装置,此处不再赘述。
本申请实施例的动态图像的加载装置中,获取动态图像的文件,其中,文件包括多帧图片,根据文件,确定各帧图片的展示时长,加载多帧图片,将多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到展示时长后,在内存中释放目标图片,将后续需展示的图片更新为目标图片,通过对动态图像文件采用动态加载展示的方式,均衡了电子设备的处理器和内存之间的负载,优化了计算机性能,避免了内存占用过高,导致卡帧或崩溃的问题。
为了实现上述实施例,本发明实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前述方法实施例所述的动态图像的加载方法。
为了实现上述实施例,本发明实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述方法实施例所述的动态图像的加载方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种动态图像的加载方法,其特征在于,所述方法包括:
获取动态图像的文件,所述文件包括多帧图片;
根据所述文件,确定各帧图片的展示时长;
加载所述多帧图片,将所述多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到对应展示时长后,在所述内存中释放所述目标图片,将后续需展示的图片更新为目标图片。
2.根据权利要求1所述的加载方法,其特征在于,所述将所述多帧图片中的目标图片加载至内存以用于展示,并在目标图片展示达到对应展示时长后,在所述内存中释放所述目标图片,将后续需展示的图片更新为目标图片,具体包括:
将所述多帧图片中需顺序展示的n帧目标图片加载至内存,以依次进行展示;其中,n为正整数;
每当一帧目标图片达到对应的展示时长,在所述内存中释放所述一帧目标图片,并根据所述一帧目标图片在所述多帧图片中的排序i,将所述多帧图片中第(i+n)帧图片更新为所述目标图片。
3.根据权利要求2所述的加载方法,其特征在于,所述将所述多帧图片中第i+n帧图片更新为所述目标图片之前,还包括:
确定存在所述第(i+n)帧图片;
所述方法还包括:
若不存在所述第(i+n)帧图片,将所述多帧图片中的第y帧图片作为所述目标图片;其中,y=i+n-x,x为多帧图片的总帧数。
4.根据权利要求1-3任一项所述的加载方法,其特征在于,所述根据所述文件,确定各帧图片的展示时长之后,还包括:
创建数组,所述数组中的一个元素对应所述多帧图片中的一帧;
采用所述数组中的元素,记录所述多帧图片是否已加载至内存。
5.根据权利要求1-3任一项所述的加载方法,其特征在于,所述根据所述文件,确定各帧图片的展示时长,包括:
解析所述文件,得到源数据;所述源数据包括所述多帧图片和各帧图片的展示时长。
6.一种动态图像的加载装置,其特征在于,所述装置包括:
获取模块,用于获取动态图像的文件,所述文件包括多帧图片;
确定模块,用于根据所述文件,确定各帧图片的展示时长;
执行模块,用于加载所述多帧图片,将所述多帧图片中的目标图片加载至内存以用于展示,并在所述目标图片展示达到所述展示时长后,在所述内存中释放所述目标图片,将后续需展示的图片更新为所述目标图片。
7.根据权利要求6所述的加载装置,其特征在于,所述执行模块,包括:
加载展示单元,用于将所述多帧图片中需顺序展示的n帧目标图片加载至内存,以依次进行展示;其中,n为正整数;
释放更新单元,用于每当一帧目标图片达到对应的展示时长,在所述内存中释放所述一帧目标图片,并根据所述一帧目标图片在所述多帧图片中的排序i,将所述多帧图片中第(i+n)帧图片更新为所述目标图片。
8.根据权利要求7所述的加载装置,其特征在于,所述执行模块,还包括:
确定单元,用于确定存在所述第(i+n)帧图片;
所述确定单元,还用于:
若不存在所述第(i+n)帧图片,将所述多帧图片中的第y帧图片作为所述目标图片;其中,y=i+n-x,x为多帧图片的总帧数。
9.根据权利要求6-8任一项所述的加载装置,其特征在于,所述装置,还包括:
创建模块,用于创建数组,所述数组中的一个元素对应所述多帧图片中的一帧;
记录模块,用于采用所述数组中的元素,记录所述多帧图片是否已加载至内存。
10.根据权利要求6-8任一项所述的加载装置,其特征在于,所述确定模块,具体用于:
解析所述文件,得到源数据;所述源数据包括所述多帧图片和各帧图片的展示时长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910942539.1A CN110647378A (zh) | 2019-09-30 | 2019-09-30 | 动态图像的加载方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910942539.1A CN110647378A (zh) | 2019-09-30 | 2019-09-30 | 动态图像的加载方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110647378A true CN110647378A (zh) | 2020-01-03 |
Family
ID=68993445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910942539.1A Pending CN110647378A (zh) | 2019-09-30 | 2019-09-30 | 动态图像的加载方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647378A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711841A (zh) * | 2020-07-27 | 2020-09-25 | 广州酷狗计算机科技有限公司 | 图像帧播放方法、装置、终端及存储介质 |
CN112333521A (zh) * | 2020-11-05 | 2021-02-05 | 杭州米络星科技(集团)有限公司 | 表情播放方法、装置、电子设备和计算机可读存储介质 |
CN113554064A (zh) * | 2021-06-28 | 2021-10-26 | 北京百度网讯科技有限公司 | 图片的标注方法、装置及电子设备 |
CN113946380A (zh) * | 2020-07-17 | 2022-01-18 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
CN114528031A (zh) * | 2020-10-30 | 2022-05-24 | 武汉斗鱼鱼乐网络科技有限公司 | 一种图片展示方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4954819A (en) * | 1987-06-29 | 1990-09-04 | Evans & Sutherland Computer Corp. | Computer graphics windowing system for the display of multiple dynamic images |
CN107203960A (zh) * | 2016-06-30 | 2017-09-26 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN109068165A (zh) * | 2018-07-23 | 2018-12-21 | 北京奇艺世纪科技有限公司 | 一种动态图显示方法及装置 |
CN109086346A (zh) * | 2018-07-12 | 2018-12-25 | 北京猫眼文化传媒有限公司 | 一种图像显示方法及装置 |
CN109756622A (zh) * | 2018-12-26 | 2019-05-14 | 北京奇艺世纪科技有限公司 | 一种图像缓存方法、装置、移动终端及存储介质 |
CN110223221A (zh) * | 2018-02-28 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 一种动态图像播放的方法及终端设备 |
-
2019
- 2019-09-30 CN CN201910942539.1A patent/CN110647378A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4954819A (en) * | 1987-06-29 | 1990-09-04 | Evans & Sutherland Computer Corp. | Computer graphics windowing system for the display of multiple dynamic images |
CN107203960A (zh) * | 2016-06-30 | 2017-09-26 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN110223221A (zh) * | 2018-02-28 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 一种动态图像播放的方法及终端设备 |
CN109086346A (zh) * | 2018-07-12 | 2018-12-25 | 北京猫眼文化传媒有限公司 | 一种图像显示方法及装置 |
CN109068165A (zh) * | 2018-07-23 | 2018-12-21 | 北京奇艺世纪科技有限公司 | 一种动态图显示方法及装置 |
CN109756622A (zh) * | 2018-12-26 | 2019-05-14 | 北京奇艺世纪科技有限公司 | 一种图像缓存方法、装置、移动终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
林胜利 等: "C#与Sybaes数据库移动应用开发指南", 中国铁道出版社, pages: 318 - 322 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946380A (zh) * | 2020-07-17 | 2022-01-18 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
CN113946380B (zh) * | 2020-07-17 | 2024-05-10 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
CN111711841A (zh) * | 2020-07-27 | 2020-09-25 | 广州酷狗计算机科技有限公司 | 图像帧播放方法、装置、终端及存储介质 |
CN111711841B (zh) * | 2020-07-27 | 2022-09-09 | 广州酷狗计算机科技有限公司 | 图像帧播放方法、装置、终端及存储介质 |
CN114528031A (zh) * | 2020-10-30 | 2022-05-24 | 武汉斗鱼鱼乐网络科技有限公司 | 一种图片展示方法及相关设备 |
CN112333521A (zh) * | 2020-11-05 | 2021-02-05 | 杭州米络星科技(集团)有限公司 | 表情播放方法、装置、电子设备和计算机可读存储介质 |
CN113554064A (zh) * | 2021-06-28 | 2021-10-26 | 北京百度网讯科技有限公司 | 图片的标注方法、装置及电子设备 |
CN113554064B (zh) * | 2021-06-28 | 2023-07-25 | 北京百度网讯科技有限公司 | 图片的标注方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647378A (zh) | 动态图像的加载方法、装置和电子设备 | |
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
CN105608161B (zh) | 一种加载进度的显示方法及终端 | |
CN109194960A (zh) | 一种图像帧渲染方法、装置及电子设备 | |
JP2019512749A (ja) | アプリケーションプログラム処理方法及び端末デバイス | |
US11810524B2 (en) | Virtual reality display device and control method thereof | |
KR20220143442A (ko) | 장면의 시간 이벤트 트리거 업데이트를 위한 방법 및 장치 | |
CN112634409A (zh) | 自定义动画曲线生成方法及装置 | |
US10332299B2 (en) | Scene graph for defining a stereoscopic graphical object | |
CN107506119B (zh) | 一种图片显示方法、装置、设备和存储介质 | |
CN110365918A (zh) | 一种信源切换方法及设备 | |
CN112687222B (zh) | 基于脉冲信号的显示方法、装置、电子设备及介质 | |
CN113068070A (zh) | 时间码显示系统、方法、显示设备、存储介质和电子设备 | |
CN112820232A (zh) | 数据处理方法及设备 | |
CN117061727A (zh) | 倒车影像流畅度测试方法、设备及倒车影像系统 | |
CN113377455B (zh) | 一种媒体组件的切换方法、切换装置、存储介质及电子设备 | |
CN107908455A (zh) | 一种浏览器页面的切换方法和切换系统 | |
JP2006025124A (ja) | 映像信号処理装置、メモリ制御方法、及びプログラム | |
CN110189388B (zh) | 动画检测方法、可读存储介质及计算机设备 | |
CN113379768A (zh) | 一种图像处理方法、装置、存储介质和计算机设备 | |
CN111522609A (zh) | 一种页面的显示方法及装置 | |
CN111292392A (zh) | 基于unity的图像显示方法、装置、设备及介质 | |
CN116761080B (zh) | 图像数据的处理方法和终端设备 | |
KR20150052922A (ko) | 어플리케이션의 데이터를 렌더링하는 방법, 장치 및 기록매체 | |
CN111198858A (zh) | 一种文件处理的方法、装置、计算机存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200103 |