CN107656699A - 图片调用方法及装置 - Google Patents
图片调用方法及装置 Download PDFInfo
- Publication number
- CN107656699A CN107656699A CN201710712580.0A CN201710712580A CN107656699A CN 107656699 A CN107656699 A CN 107656699A CN 201710712580 A CN201710712580 A CN 201710712580A CN 107656699 A CN107656699 A CN 107656699A
- Authority
- CN
- China
- Prior art keywords
- memory
- region
- bitmap
- picture set
- picture
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种图片调用方法及装置,该方法包括:若检测到需要调用图片集合,则从本地存储中提取图片集合,其中,图片集合中包括至少一张图片;检测图片集合所需内存大小是否超过预定阈值;若否,则将图片集合缓存至***指定内存区域中,使应用程序从***指定内存区域中调用图片集合;若是,则将图片集合缓存至预先创建的内存区域中;在内存区域中,创建与图片集合中每张图片一一对应的位图文件,以使应用程序从内存区域中调用位图文件;若监测到应用程序关闭,则清空并释放内存区域,删除位图信息,其中,位图信息为创建位图文件时所生成的信息。从而解决了可能发生的***异常报错的问题,提高了***的稳定性,并且提升了用户体验。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种图片调用方法及装置。
背景技术
当前,随着移动终端的迅速发展,人们对移动终端的处理速度以及稳定性的要求也越来越高。现有技术为提高图片调用的工作效率,通常是采用缓存的方式。具体的,当应用程序需要用到网络侧的图片时,移动终端将图片存储至本地,并对本地存储中的图片进行调用,在调用过程中,移动终端将图片提取至内存中进行缓存,再将缓存中的图片应用于应用程序中,应用程序再下一次使用中,仍然使用缓存中的图片。
但是,现有技术由于占用内存,因此,将可能导致内存溢出(Out Of Memory,OOM)的问题。为防止该问题,现有技术所采用的方案通常为:定期清除缓存,即利用***源生方法对图片进行回收。但是,当图片被回收后,程序对应于该图片的引用并未被清除。因此,当应用程序根据引用,再次调用该图片时,由于该图片已经被回收,所以,将会导致异常报错。但是,若不对图片进行回收,则会导致OOM问题。
因此,针对现有技术的图片调用方法中,由于方案不完善,可能导致***内存溢出或者是可能导致***异常报错的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种图片调用方法,以解决现有技术的图片调用方法中,由于方案不完善,可能导致***内存溢出或者是可能导致***异常报错的问题。
为了解决上述问题,本发明公开了一种图片调用方法,所述方法包括:
若检测到需要调用图片集合,则从本地存储中提取图片集合,其中,图片集合中包括至少一张图片;
检测图片集合所需内存大小是否超过预定阈值;
若否,则将图片集合缓存至***指定内存区域中,使应用程序从***指定内存区域中调用图片集合;
若是,则将图片集合缓存至预先创建的内存区域中;
在内存区域中,创建与图片集合中每张图片一一对应的位图文件,以使应用程序从内存区域中调用位图文件;以及,
若监测到应用程序关闭,则清空并释放内存区域,以及,删除位图信息,其中,位图信息为创建位图文件时所生成的信息。
根据本发明的另一方面,提供了一种图片调用装置,所述装置包括:
提取模块,用于若检测到需要调用图片集合,则从本地存储中提取图片集合,其中,图片集合中包括至少一张图片;
检测模块,用于检测图片集合所需内存大小是否超过预定阈值;
第一缓存模块,用于若否,则将图片集合缓存至***指定内存区域中,使应用程序从***指定内存区域中调用图片集合;
第二缓存若是,则将图片集合缓存至预先创建的内存区域中;
创建模块,用于在内存区域中,创建与图片集合中每张图片一一对应的位图文件,以使应用程序从内存区域中调用位图文件;以及,
释放模块,用于若监测到应用程序关闭,则清空并释放内存区域,以及,删除位图信息,其中,位图信息为创建位图文件时所生成的信息。
与现有技术相比,本发明中的技术方案,通过将预先创建的内存区域进行清空并释放,从而能够有效防止***内存溢出问题的发生。以及,本发明在调用图片的过程中,通过将图片集合及相关资源缓存于专用内存区域中,从而未在本地缓存中生成缓存数据,并在图片使用完毕后,清空并释放预先创建的内存区域,以及删除相关的位图信息,进而在其它应用程序再度调用该图片时,不会被引导至已被删除的内存区域,因此,在保证图片调用效率的前提下,有效地解决了可能发生的***异常报错的问题,提高了***的稳定性,并且提升了用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种图片调用方法的流程图之一;
图2是本发明实施例的一种图片调用方法的流程图之二;
图3是本发明实施例的一种图片调用装置的结构框图之一;
图4是本发明实施例的一种图片调用装置的结构框图之二;
图5是本发明实施例的一种图片调用装置的结构框图之三;
图6是本发明实施例的一种图片调用装置的结构框图之四。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例的一种图片调用方法的流程图,具体可以包括以下步骤:
步骤101,若检测到需要调用图片集合,则从本地存储中提取图片集合,其中,图片集合中包括至少一张图片。
具体的,在本发明的实施例中,本发明实施例中的方法可应用于移动终端或其它设备,例如:平板、PC等。
以移动终端为例,在一个实施例中,若用户打开应用程序后,可通过移动终端触发用户指令,以指示应用程序使用移动终端本地存储中的至少一张图片。移动终端接收用户指令后,即可确定当前移动终端需要调取的图片集合。
在另一个实施例中,移动终端也可依据预先设定的规则,自动触发图片调用流程。举例说明:操作人员预先设定应用程序A启动后,自动调动本地存储的至少一张图片。则,移动终端在检测到应用程序A启动后,则确定当前需要调用所述至少一张图片。
具体的,在本发明的实施例中,移动终端在检测到当前需要调用图片集合时,则从本地存储中提取指定的至少一张图片,以构成图片集合。
步骤102,检测图片集合所需内存大小是否超过预定阈值。
具体的,在本发明的实施例中,移动终端检测图片集合所需内存大小是否超过预定阈值。在本发明的实施例中,预定阈值可由用户根据实际需求,即设备处理能力等因素进行设置,本发明对此不做限定。
步骤103,若否,则将图片集合缓存至***指定内存区域中,使应用程序从***指定内存区域中调用图片集合。
具体的,在本发明的实施例中,移动终端若检测到图片集合所需内存大小未超过预定阈值,则可利用现有技术实施例中的技术方案,即,将图片集合缓存至***指定的内存区域中,在后续的处理过程中,应用程序可直接从***指定内存区域中调用该图片集合。
步骤104,若是,则将图片集合缓存至预先创建的内存区域中。
具体的,在本发明的实施例中,若移动终端检测到图片集合所需内存大小超过预定阈值,则将图片集合缓存至预先创建的内存区域中。在本发明的实施例中,移动终端中的***检测到存在待缓存的图片集合(即大小超过预定阈值的图片集合)时,将在内存中的创建一块内存区域。在一个实施例中,***在创建该内存区域时,可依据图片集合的大小,创建内存区域。在另一个实施例中,操作人员可提前设置内存区域大小,则***依据操作人员的设置,创建内存区域。在又一个实施例中,内存区域在内存中的位置可由***随机选定,本发明对此不做限定。
步骤105,在内存区域中,创建与图片集合中每张图片一一对应的位图文件,以使应用程序从内存区域中调用位图文件。
具体的,在本发明的实施例中,移动终端在创建的内存区域中进行后续的操作,具体为:移动终端依据图片集合中的每张图片,创建与每张图片一一对应的位图文件。该位图文件可具有指定格式,例如:Drawable格式,以供应用程序能够直接从预先创建的内存区域中调用该位图文件。
步骤106,若监测到应用程序关闭,则清空并释放内存区域,以及,删除位图信息,其中,位图信息为创建位图文件时所生成的信息。
具体的,在本发明的实施例中,移动终端实时监测应用程序的状态,若监测到应用程序关闭,则移动终端将清空所述内存区域,即,将内存区域中的图片集合、位图文件等删除。同时,移动终端还将对创建该位图文件的过程中所生成的位图信息进行删除。该位图信息包括但不限于:位图对象,该位图对象用于标识应用程序对该位图文件的引用关系。
本发明实施例中的技术方案,通过将预先创建的内存区域进行清空并释放,从而能够有效防止***内存溢出问题的发生。以及,本发明在调用图片的过程中,通过将图片集合及相关资源缓存于专用内存区域中,从而未在本地缓存中生成缓存数据,并在图片使用完毕后,清空并释放预先创建的内存区域,以及删除相关的位图信息,进而在其它应用程序再度调用该图片时,不会被引导至已被删除的内存区域,因此,在保证图片调用效率的前提下,有效地解决了可能发生的***异常报错的问题,提高了***的稳定性,并且提升了用户体验。
实施例二
参照图2,示出了本发明实施例的一种图片调用方法的流程图,具体可以包括以下步骤:
步骤201,若检测到需要调用图片集合,则从本地存储中提取图片集合。
具体的,在本发明的实施例中,本发明实施例中的方法可应用于移动终端或其它设备,例如:平板、PC等。以移动终端为例,在一个实施例中,若用户打开应用程序后,可通过移动终端触发用户指令,以指示应用程序使用移动终端本地存储中的至少一张。移动终端接收用户指令后,即可确定当前移动终端需要调取图片。
在另一个实施例中,移动终端也可依据预先设定的规则,自动触发图片调用流程。举例说明:操作人员预先设定应用程序A启动后,自动调动图片集合。则,移动终端在检测到应用程序A启动后,则确定当前需要调用移动终端中的至少一张图片。
具体的,在移动终端检测到需要调用移动终端中的至少一张图片的情况下,该移动终端依据在本地存储中查询目标存储空间。该目标存储空间用于存储资源文件。在一个实施例中,查询目标存储空间的方式可以为:依据存储空间的标识信息进行查找。在另一个实施例中,查询目标存储空间的方式还可以为:依据存储空间中的内容进行查找。在本发明的实施例中,资源文件包括但不限于:图片、动画等媒体类文件。
移动终端提取至少一张图片,并构成图片集合。
步骤202,检测图片集合所需内存大小是否超过预定阈值。
具体的,在本发明的实施例中,移动终端检测图片集合所需内存大小是否超过预定阈值。若是,进入步骤203。若否,则可以按照现有技术实施例中的缓存方式对图片进行后续的处理。即,将图片集合缓存至***指定的内存区域中,在后续的处理过程中,应用程序可直接从***指定内存区域中调用该图片集合。
在本发明的实施例中,预定阈值可由用户根据实际需求,即设备处理能力等因素进行设置,本发明对此不做限定。
步骤203,将图片集合缓存至预先创建的内存区域中。
具体的,在本发明的实施例中,若移动终端检测到图片集合所需内存大小超过预定阈值,则将图片集合缓存至预先创建的内存区域中。在本发明的实施例中,移动终端中的***检测到存在待缓存的图片集合(即大小超过预定阈值的图片集合)时,将在内存中的创建一块内存区域。在一个实施例中,***在创建该内存区域时,可依据图片集合的大小,创建内存区域。在另一个实施例中,操作人员可提前设置内存区域大小,则***依据操作人员的设置,创建内存区域。在又一个实施例中,内存区域在内存中的位置可由***随机选定,本发明对此不做限定。
步骤204,依据图片集合,创建至少一个中间位图文件。
具体的,在本发明的实施例中,移动终端可依据图片集合中的每一张图片,创建每一张图片一一对应的中间位图文件。该中间位图文件可通过下列语句生成:
Bitmap bmp=BitmapFactory.decodeResource(res,R.drawable.test)
步骤205,生成至少一个位图对象。
具体的,在本发明的实施例中,移动终端生成与每个中间位图文件一一对应的位图对象。在本发明的实施例中,位图对象用于标识中间位图文件。即,位图对象为中间位图文件的索引,应用程序可根据该位图对象查找到位图文件(由于后续步骤中中间位图文件被封装为位图文件,因此,应用程序依据位图对象进行调用时,查找到的是位图文件)对对应的位图文件进行调用。上述语句中的“bmp”即为本发明实施例中的位图对象。
步骤206,依据至少一个位图对象,对至少一个中间位图文件进行封装,以获取与每个中间位图文件对应的位图文件。
具体的,在本发明的实施例中,步骤206具体包括:
步骤2061,调用封装语句。
步骤2062,依据至少一个位图对象,通过封装语句将至少一个中间位图文件中的每一个中间位图文件封装成具有drawable格式的位图文件。
具体的,移动终端将每个生成的中间位图文件进行封装,使其封装为具有指定格式,即drawable格式的位图文件。进一步的,本发明实施例中,移动终端将中间位图文件封装为BitmapDrawable格式。从而使应用程序能够直接使用该位图文件,提高应用程序的处理效率。具体的,封装过程可通过下列语句实现:
pngdrawable=new BitmapDrawable(bmp);
即,在本发明的实施例中,移动终端依据位图对象(bmp)将中间位图文件封装成BitmapDrawable的格式。
随后,应用程序可通过引用函数调用位图文件。具体的可通过下列语句实现:
tv.setBackgroundDrawable(pngdrawable)。
因此,有上述实施例可见,本发明实施例中的图片调用方法调用图片集合,并动态创建用于缓存图片集合以及与该图片集合相关联的位图对象、位图文件等的内存区域,以及,在本次应用程序调用之后,将会清空内存区域中的所有资源以及删除该资源以及对应的引用关系等。由此可见,本发明是通过在每次调用时,在预先创建的内存区域中生成新的资源,从而避免现有技术的图片调用方法中,利用:getResources().getDrawable(id)语句,将图片缓存至本地,并且在应用程序调用过程中将会出现缓存资源,导致下次应用程序在调用过程中,直接返回到缓存资源,因而引发***异常的问题。具体删除方法如下:
步骤207,若监测到应用程序关闭,则清空并释放内存区域,以及,删除位图信息,其中,位图信息为创建位图文件时所生成的信息。
具体的,在本发明的实施例中,若监测到应用程序关闭,则依据至少一个位图对象,定位内存区域。接着,移动终端清空并释放内存区域。
具体的,在本发明的实施例中,步骤207具体包括:
子步骤2071,若检测到应用程序关闭,则删除缓存于本地内存的图片集合以及位图文件。
具体的,在本发明的实施例中,移动终端实时监测应用程序的状态,若监测到应用程序关闭,则移动终端将本地内存中,即缓存的位图文件以及图片集合进行删除。
具体的,本发明实施例中的移动终端通过下列语句删除位图文件:
pngdrawable=null;
以及,通过下列语句删除缓存中的图片集合:
bitmap.recycle();
子步骤2072,删除至少一个位图对象。
具体的,在本发明的实施例中,移动终端还将删除生成的至少一个位图对象,则其它应用程序若再次调用该图片集合,由于位图对象已经被删除,则应用程序将重新利用本发明实施例中的图片调用方法重新生成位图文件,而无法依据已经删除的位图对象查找到预先创建的内存区域中,并引发***异常报错的问题。通过下列语句删除位图对象:
bitmap=null
子步骤2073,置空应用程序调用位图文件时使用的引用函数。
具体的,在本发明的实施例中,移动终端还将置空应用程序提取位图文件的引用函数,从而进一步避免***异常报错的问题发生。具体的,可通过以下方式实现置空引用函数:
tv.setBackgroundDrawable(null);
此外,在本发明的一个优选的实施例中,移动终端还可清除应用层面的垃圾,例如:注册表、引用关系等。在另一个实施例中,移动终端可进行整体垃圾清理,即清理应用层、底层的垃圾。从而对可能与生成的位图文件相关的信息进行清理,进一步降低***异常报错的风险,提高了***稳定性。
综上所述,本发明实施例中的技术方案,通过将预先创建的内存区域进行清空并释放,从而能够有效防止***内存溢出问题的发生。以及,本发明在调用图片的过程中,通过将图片集合及相关资源缓存于专用内存区域中,从而未在本地缓存中生成缓存数据,并在图片使用完毕后,清空并释放预先创建的内存区域,以及删除相关的位图信息,进而在其它应用程序再度调用该图片时,不会被引导至已被删除的内存区域,因此,在保证图片调用效率的前提下,有效地解决了可能发生的***异常报错的问题,提高了***的稳定性,并且提升了用户体验。
实施例三
参照图3,示出了本发明实施例的一种图片调用装置的结构框图,该装置具体可以包括以下模块:
提取模块301,用于若检测到需要调用图片集合,则从本地存储中提取图片集合,其中,图片集合中包括至少一张图片。
检测模块302,用于检测图片集合所需内存大小是否超过预定阈值。
第一缓存模块303,用于若否,则将图片集合缓存至***指定内存区域中,使应用程序从***指定内存区域中调用图片集合。
第二缓存模块304,用于若是,则将图片集合缓存至预先创建的内存区域中;
创建模块305,用于在内存区域中,创建与图片集合中每张图片一一对应的位图文件,以使应用程序从内存区域中调用位图文件;以及,
释放模块306,用于若监测到应用程序关闭,则清空并释放内存区域,以及,删除位图信息,其中,位图信息为创建位图文件时所生成的信息。
参照图4,在本发明的一个有选的实施例中,在图3的基础上,创建模块305进一步包括:
创建子模块3051,用于依据图片集合,创建至少一个中间位图文件,至少一个中间位图文件与图片集合中的图片一一对应。
生成子模块3052,用于生成至少一个位图对象,其中,至少一个位图对象与至少一个中间位图文件一一对应,并且,每个位图对象用于标识对应的中间位图文件。
封装子模块3053,用于依据至少一个位图对象,对至少一个中间位图文件进行封装,以获取与每个中间位图文件对应的位图文件。
此外,在本发明的一个有选的实施例中,封装子模块3053进一步用于:
调用封装语句。
依据至少一个位图对象,通过封装语句将至少一个中间位图文件中的每一个中间位图文件封装成具有drawable格式的位图文件。
参照图5,在本发明的一个有选的实施例中,在图3的基础上,释放模块306进一步包括:
定位子模块3061,用于若监测到应用程序关闭,则依据至少一个位图对象,定位内存区域。
释放子模块3062,用于清空并释放内存区域。
参照图6,在本发明的一个有选的实施例中,在图3的基础上,释放模块306进一步包括:
第一删除子模块3063,用于若监测到应用程序关闭,则删除缓存于内存区域的图片集合以及位图文件。
第二删除子模块3064,用于删除内存区域。
第三删除子模块3065,用于删除至少一个位图对象。
置空子模块3066,用于置空应用程序调用位图文件时使用的引用函数。
综上所述,本发明实施例中的装置,通过将预先创建的内存区域进行清空并释放,从而能够有效防止***内存溢出问题的发生。以及,本发明在调用图片的过程中,通过将图片集合及相关资源缓存于专用内存区域中,从而未在本地缓存中生成缓存数据,并在图片使用完毕后,清空并释放预先创建的内存区域,以及删除相关的位图信息,进而在其它应用程序再度调用该图片时,不会被引导至已被删除的内存区域,因此,在保证图片调用效率的前提下,有效地解决了可能发生的***异常报错的问题,提高了***的稳定性,并且提升了用户体验。
对于设备实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种图片调用方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种图片调用方法,其特征在于,包括:
若检测到需要调用图片集合,则从本地存储中提取所述图片集合,其中,所述图片集合中包括至少一张图片;
检测所述图片集合所需内存大小是否超过预定阈值;
若否,则将所述图片集合缓存至***指定内存区域中,使应用程序从所述***指定内存区域中调用所述图片集合;
若是,则将所述图片集合缓存至预先创建的内存区域中;
在所述内存区域中,创建与所述图片集合中每张图片一一对应的位图文件,以使所述应用程序从所述内存区域中调用所述位图文件;以及,
若监测到所述应用程序关闭,则清空并释放所述内存区域,以及,删除位图信息,其中,所述位图信息为创建所述位图文件时所生成的信息。
2.根据权利要求1所述的方法,其特征在于,所述在所述内存区域中,创建与所述图片集合中每张图片一一对应的位图文件的步骤,具体包括:
依据所述图片集合,创建至少一个中间位图文件,所述至少一个中间位图文件与所述图片集合中的图片一一对应;
生成至少一个位图对象,其中,所述至少一个位图对象与所述至少一个中间位图文件一一对应,并且,每个位图对象用于标识对应的中间位图文件;
依据所述至少一个位图对象,对所述至少一个中间位图文件进行封装,以获取与每个中间位图文件对应的位图文件。
3.根据权利要求2所述的方法,其特征在于,所述依据所述至少一个位图对象,对所述至少一个中间位图文件进行封装的步骤,具体包括:
调用封装语句;
依据所述至少一个位图对象,通过所述封装语句将所述至少一个中间位图文件中的每一个中间位图文件封装成具有drawable格式的位图文件。
4.根据权利要求2所述的方法,其特征在于,所述若监测到所述应用程序关闭,则清空并释放所述内存区域,以及,删除位图信息的步骤,具体包括:
若监测到所述应用程序关闭,则依据所述至少一个位图对象,定位所述内存区域;
清空并释放所述内存区域。
5.根据权利要求2所述的方法,其特征在于,所述若监测到所述应用程序关闭,则清空并释放所述内存区域,以及,删除位图信息的步骤,具体包括:
若监测到所述应用程序关闭,则删除缓存于所述内存区域的图片集合以及所述位图文件;
删除所述内存区域;以及
删除所述至少一个位图对象;以及,
置空所述应用程序调用所述位图文件时使用的引用函数。
6.一种图片调用装置,其特征在于,包括:
提取模块,用于若检测到需要调用图片集合,则从本地存储中提取所述图片集合,其中,所述图片集合中包括至少一张图片;
检测模块,用于检测所述图片集合所需内存大小是否超过预定阈值;
第一缓存模块,用于若否,则将所述图片集合缓存至***指定内存区域中,使应用程序从所述***指定内存区域中调用所述图片集合;
第二缓存模块,用于若是,则将所述图片集合缓存至预先创建的内存区域中;
创建模块,用于在所述内存区域中,创建与所述图片集合中每张图片一一对应的位图文件,以使所述应用程序从所述内存区域中调用所述位图文件;以及,
释放模块,用于若监测到所述应用程序关闭,则清空并释放所述内存区域,以及,删除位图信息,其中,所述位图信息为创建所述位图文件时所生成的信息。
7.根据权利要求6所述的装置,其特征在于,所述创建模块进一步包括:
创建子模块,用于依据所述图片集合,创建至少一个中间位图文件,所述至少一个中间位图文件与所述图片集合中的图片一一对应;
生成子模块,用于生成至少一个位图对象,其中,所述至少一个位图对象与所述至少一个中间位图文件一一对应,并且,每个位图对象用于标识对应的中间位图文件;
封装子模块,用于依据所述至少一个位图对象,对所述至少一个中间位图文件进行封装,以获取与每个中间位图文件对应的位图文件。
8.根据权利要求7所述的装置,其特征在于,所述封装子模块进一步用于:
调用封装语句;
依据所述至少一个位图对象,通过所述封装语句将所述至少一个中间位图文件中的每一个中间位图文件封装成具有drawable格式的位图文件。
9.根据权利要求7所述的装置,其特征在于,所述释放模块进一步包括:
定位子模块,用于若监测到所述应用程序关闭,则依据所述至少一个位图对象,定位所述内存区域;
释放子模块,用于清空并释放所述内存区域。
10.根据权利要求7所述的装置,其特征在于,所述释放模块进一步包括:
第一删除子模块,用于若监测到所述应用程序关闭,则删除缓存于所述内存区域的图片集合以及所述位图文件;
第二删除子模块,用于删除所述内存区域;以及
第三删除子模块,用于删除所述至少一个位图对象;以及,
置空子模块,用于置空所述应用程序调用所述位图文件时使用的引用函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710712580.0A CN107656699B (zh) | 2017-08-18 | 2017-08-18 | 图片调用方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710712580.0A CN107656699B (zh) | 2017-08-18 | 2017-08-18 | 图片调用方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107656699A true CN107656699A (zh) | 2018-02-02 |
CN107656699B CN107656699B (zh) | 2020-11-10 |
Family
ID=61127715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710712580.0A Active CN107656699B (zh) | 2017-08-18 | 2017-08-18 | 图片调用方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107656699B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032421A (zh) * | 2019-04-18 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 内存中图集的管理方法、装置、终端及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080069465A1 (en) * | 2006-09-15 | 2008-03-20 | Nec Electronics Corporation | Processing data supply method and image processing apparatus |
CN101226549A (zh) * | 2008-01-25 | 2008-07-23 | 中兴通讯股份有限公司 | 一种嵌入式***中图片资源加载的方法及装置 |
EP2053840A2 (en) * | 2007-10-25 | 2009-04-29 | Canon Kabushiki Kaisha | Recording apparatus and method for controlling the recording apparatus |
CN102662615A (zh) * | 2012-03-23 | 2012-09-12 | 安科智慧城市技术(中国)有限公司 | 一种嵌入式设备及其图片显示方法、*** |
CN103885753A (zh) * | 2014-03-03 | 2014-06-25 | 广州金山网络科技有限公司 | 缓存图片的管理方法、装置和客户端 |
CN104267996A (zh) * | 2014-09-29 | 2015-01-07 | 广州金山网络科技有限公司 | 一种图片资源处理方法、装置及终端 |
CN104657378A (zh) * | 2013-11-20 | 2015-05-27 | 青岛海信移动通信技术股份有限公司 | 一种文件缓存方法及装置 |
CN105046640A (zh) * | 2015-05-14 | 2015-11-11 | 深圳市美贝壳科技有限公司 | 图片内存管理方法及装置 |
CN105373471A (zh) * | 2014-08-29 | 2016-03-02 | 腾讯科技(深圳)有限公司 | 用于内存泄露漏洞的检测方法和装置 |
CN105912480A (zh) * | 2016-04-01 | 2016-08-31 | 乐视控股(北京)有限公司 | 缓存管理方法、装置和移动终端 |
CN106802955A (zh) * | 2017-01-19 | 2017-06-06 | 济南浪潮高新科技投资发展有限公司 | 一种图片数据缓存方法 |
-
2017
- 2017-08-18 CN CN201710712580.0A patent/CN107656699B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080069465A1 (en) * | 2006-09-15 | 2008-03-20 | Nec Electronics Corporation | Processing data supply method and image processing apparatus |
EP2053840A2 (en) * | 2007-10-25 | 2009-04-29 | Canon Kabushiki Kaisha | Recording apparatus and method for controlling the recording apparatus |
CN101226549A (zh) * | 2008-01-25 | 2008-07-23 | 中兴通讯股份有限公司 | 一种嵌入式***中图片资源加载的方法及装置 |
CN102662615A (zh) * | 2012-03-23 | 2012-09-12 | 安科智慧城市技术(中国)有限公司 | 一种嵌入式设备及其图片显示方法、*** |
CN104657378A (zh) * | 2013-11-20 | 2015-05-27 | 青岛海信移动通信技术股份有限公司 | 一种文件缓存方法及装置 |
CN103885753A (zh) * | 2014-03-03 | 2014-06-25 | 广州金山网络科技有限公司 | 缓存图片的管理方法、装置和客户端 |
CN105373471A (zh) * | 2014-08-29 | 2016-03-02 | 腾讯科技(深圳)有限公司 | 用于内存泄露漏洞的检测方法和装置 |
CN104267996A (zh) * | 2014-09-29 | 2015-01-07 | 广州金山网络科技有限公司 | 一种图片资源处理方法、装置及终端 |
CN105046640A (zh) * | 2015-05-14 | 2015-11-11 | 深圳市美贝壳科技有限公司 | 图片内存管理方法及装置 |
CN105912480A (zh) * | 2016-04-01 | 2016-08-31 | 乐视控股(北京)有限公司 | 缓存管理方法、装置和移动终端 |
CN106802955A (zh) * | 2017-01-19 | 2017-06-06 | 济南浪潮高新科技投资发展有限公司 | 一种图片数据缓存方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032421A (zh) * | 2019-04-18 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 内存中图集的管理方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107656699B (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103346912B (zh) | 告警相关性分析的方法、装置及*** | |
EP3200393A1 (en) | Method and device for virtual network function management | |
US8649427B2 (en) | Image processor, image generator and computer program | |
CN110086674A (zh) | 一种基于容器的应用高可用实现方法及*** | |
CN103353860B (zh) | 内存管理方法及装置 | |
CN103716356B (zh) | 基于web的存储过程操作方法、装置和*** | |
CN104572460A (zh) | 一种内存泄露的检测方法和装置 | |
CN106161076A (zh) | 虚拟网络功能扩展方法和装置 | |
KR101973874B1 (ko) | 셀룰러 네트워크에서의 wlan 알람 통지를 위한 방법 및 장치 | |
CN103309796A (zh) | 一种组件对象模型对象的监控方法和装置 | |
CN110032409A (zh) | 一种客户端屏幕适配方法、装置及电子设备 | |
CN108769207B (zh) | 一种云平台资源监控方法和*** | |
CN104615662B (zh) | 一种处理数据的方法、装置及终端设备 | |
CN103780428A (zh) | 应用于云架构的集中式资源管理方法及*** | |
CN111090495A (zh) | 节点管理方法、装置、设备、存储介质和*** | |
CN103885753A (zh) | 缓存图片的管理方法、装置和客户端 | |
CN107544846A (zh) | 一种内存管理方法、装置及电子设备 | |
CN107066341B (zh) | 一种软件模块间的事件路由框架及方法 | |
CN107656699A (zh) | 图片调用方法及装置 | |
CN105183542A (zh) | 一种内存管理方法及*** | |
CN110737503A (zh) | 容器服务快照的管理方法和装置 | |
CN103810038A (zh) | 一种ha集群中虚拟机存储文件迁移方法及其装置 | |
JP2006025434A (ja) | 大容量障害相関システム及び方法 | |
CN104317673B (zh) | 应用程序的回收方法、装置及其恢复方法、装置 | |
CN108733567A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220805 Address after: 200131 building C, No. 888, Huanhu West 2nd Road, Lingang New District, Pudong New Area, Shanghai Patentee after: Zhiche (Shanghai) Industrial Co.,Ltd. Address before: 200335 rooms 904-906, building a, Hongqiao International Science and Technology Plaza, 999 Jinzhong Road, Changning District, Shanghai Patentee before: SHANGHAI VCYBER INTELLIGENCE TECHNOLOGY CO.,LTD. |