CN110658969B - 一种图片处理方法、装置、设备及存储介质 - Google Patents
一种图片处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110658969B CN110658969B CN201910950577.1A CN201910950577A CN110658969B CN 110658969 B CN110658969 B CN 110658969B CN 201910950577 A CN201910950577 A CN 201910950577A CN 110658969 B CN110658969 B CN 110658969B
- Authority
- CN
- China
- Prior art keywords
- list control
- picture
- picture list
- attribute information
- view
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 230000015654 memory Effects 0.000 claims abstract description 94
- 238000000034 method Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 20
- 230000015556 catabolic process Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种图片处理方法、装置、设备及存储介质,涉及计算机网络技术领域。该图片处理方法包括:接收内存警告消息;针对所述内存警告消息,获取图片列表控件的视图属性信息;依据所述视图属性信息,确定所述图片列表控件是否展示在屏幕上;若所述图片列表控件没有展示在屏幕上,则释放所述图片列表控件所持有的图片。本发明能够在适当的时机释放图片列表控件所持有的图片资源,减少因内存不足导致崩溃的概率。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种图片处理方法、装置、设备及存储介质。
背景技术
随着计算机网络技术的快速发展,诸如个人计算机(Personal Computer,PC)、手机、平板电脑等设备越来越普及,给人们的生活、学习及工作带来了极大的便利。
在实际应用中,给用户展示一个图片列表是设备中一个常见的业务场景。图片展示通常会占用较多的系统内存。当系统内存不足且无法通过杀死挂起应用来回收内存时,通常会导致应用崩溃。因此,在系统内存不足时,应用应该释放尽可能多的内存。若没能减少应用占用的内存,则应用有可能会被系统杀死。其中,图片列表控件UICollectionViewCell是应用用来展示图片最常用的一个控件,因此在内存紧张时能及时释放图片列表控件UICollectionViewCell的图片资源尤为重要。
发明内容
有鉴于此,本发明实施例提供一种图片处理方法、装置、设备及存储介质,以在适当的时机释放图片列表控件所持有的图片资源,降低因系统内存紧张而导致应用被系统终止的概率。
第一方面,本发明实施例提供了一种图片处理方法,包括:根据接收到的内存警告消息,获取图片列表控件的视图属性信息;依据所述视图属性信息,确定所述图片列表控件是否展示在屏幕上;若所述图片列表控件没有展示在屏幕上,则释放所述图片列表控件所持有的图片。
第二方面,本发明实施例还提供了一种图片处理装置,包括:
属性信息获取模块,用于根据接收到的内存警告消息,获取图片列表控件的视图属性信息;
展示确定模块,用于依据所述视图属性信息,确定所述图片列表控件是否展示在屏幕上;
图片释放模块,用于当所述图片列表控件没有展示在屏幕上时,释放所述图片列表控件所持有的图片。
第三方面,本发明实施例还提供了一种设备,包括:处理器和存储器;所述存储器中存储有至少一条指令,所述指令由所述处理器执行,使得所述设备执行如第一方面所述的图片处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质中的指令由设备的处理器执行时,使得设备能够执行如第一方面所述的图片处理方法。
采用本发明实施例,在接收到内存警告消息后,可获取图片列表控件的视图属性信息,以根据视图属性信息确定出图片列表控件是否展示在屏幕上,从而可以在图片列表控件没有展示在屏幕上时,释放该图片列表控件所持有的图片,即能够在适当的时机释放图片列表控件所持有的图片资源,减少因内存不足导致崩溃的概率。
附图说明
图1是本发明实施例中的一种图片处理方法的步骤流程示意图;
图2是本发明一个可选实施例中的一种图片处理方法的步骤流程示意图;
图3是本发明实施例中的一种图片处理装置的结构方框示意图;
图4是本发明一个示例中的一种设备的结构方框示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构或组成。
发明人在实现本发明时发现,当系统内存不足时,通常会通过以下几种方式通知应用当前内存紧张:第一种方式是通过调用应用代理的一个方法,来通知应用当前内存不足;第二种方式是通过调用目前还存活的视图控制器的一个方法,来通知应用内存不足;第三种方式是通过一个系统内存警告消息给应用,来通知应用内存不足,该系统内存警告消息在应用任何地方都能被应用监听到;第四种方式可以通过给监听系统内存压力的调度队列发出警告消息,来通知应用内存不足。现有技术一般都是通过这几种方式得知当前内存紧张,再释放相应的资源。这几种方式通常使用于不同的业务场景。对于要释放的图片列表资源而言,一般会使用第二种方式或第三种方式,既是在不同业务场景的视图控制器里面的重写系统会调用的方法,并在方法实现里释放资源,亦或是在不同业务场景的模块中监听系统发出的通知消息,以在收到通知消息时释放资源。因此,在应用的程序项目中会出现多份重复代码或多种实现方法,且在每次新增业务时都需在自身程序中写释放图片的逻辑代码,存在代码混乱、开发效率低、出错率高等问题。
为了解决上述问题,本发明实施例提出一种新的图片处理方法,在适当的时机释放图片列表控件所持有的图片资源。具体的,本发明实施例在接收到内存警告消息时,通过判断图标列表控件是否展示屏幕上,来确定是否释放该图片列表控件所持有的图片,从而能够及时释放图片列表控件所持有的图片资源,降低因系统内存紧张而导致应用被系统终止的概率。
参照图1,示出了本发明实施例中的一种图片处理方法的步骤流程示意图,该图片处理方法具体可以包括如下步骤:
步骤110,接收内存警告消息。
在实际处理中,诸如智能手机、平板电脑等设备在系统内存不足时,可以通过系统自动产生内存警告消息。该内存警告消息可以用于确定设备系统当前内存资源紧张,如可以用于通知设备中的应用程序(简称应用)当前系统内存不足,从而能够触发应用判断是否可以释放其所占用的内存资源。
步骤120,针对所述内存警告消息,获取图片列表控件的视图属性信息。
本实施例中,在系统产生内存警告消息后,可以通过监听等方式接收到该内存警告消息,随后可以针对内存警告消息获取图片列表控件的视图属性信息,以依据该视图属性信息判断该图片列表控件的视图是否展示在屏幕上。其中,视图属性信息可以包括图片列表控件的视图的各种属性信息,如可以包括父视图属性信息、窗口属性信息和可见性属性信息等,本实施例对此不作具体限制。需要说明的是,父视图属性信息可以表示图片列表控件的父视图属性;窗口属性信息可以表示图片列表控件的窗口属性;可见性属性信息可以表示图片列表控件的视图可见性。
步骤130,依据所述视图属性信息,确定所述图片列表控件是否展示在屏幕上。
具体而言,在获取到图片列表控件的视图属性信息后,可以采用视图属性信息判断该图片列表控件是否展示在屏幕上。若图片列表控件展示在屏幕上,则可以不释放该图片列表控件所持有的图片资源,即可忽略该图片列表控件所持有的图片,不清理该图片列表控件中的图片,使得该图片列表控件中的图片可以继续展示在屏幕上,即保证该图片列表控件中的图片正常展示。其中,图片列表控件所持有的图片可以包括通过该图片列表控件展示的图片。
若图片列表控件没有展示在屏幕上,则可以确定该图片列表控件中的图片没有展示在屏幕上,可以释放该图片列表控件所持有的图片资源,即执行步骤140。
步骤140,当所述图片列表控件没有展示在屏幕上时,释放所述图片列表控件所持有的图片。
具体的,在图片列表控件没有展示在屏幕上时,本发明实施例可以清理该图片列表控件上的图片资源,以释放该图片列表控件展示图片所占用的内存,从而避免系统内存不足导致应用被杀死,减少因内存不足导致应用崩溃的概率。
综上,本发明实施例在接收到内存警告消息后,可获取图片列表控件的视图属性信息,以根据视图属性信息确定出图片列表控件是否展示在屏幕上,从而可以在图片列表控件没有展示在屏幕上时,释放该图片列表控件所持有的图片,即能够在适当的时机释放图片列表控件所持有的图片资源,减少因内存不足导致崩溃的概率。
在实际处理中,可以采用本发明实施例提供的技术方案,创建一个继承图片列表控件的基类,并可将该基类应用到需要使用该图片列表控件来展示图片的应用程序中,从而使得应用程序可以通过该基类自动释放图片列表控件所持有的图片资源。
作为本发明的一个示例,在应用程序通过图片列表控件UICollectionViewCell来展示图片的情况下,该应用程序可以调用继承该图片列表控件UICollectionViewCell的基类,以通过该基类监听系统生成的内存警告消息,并可通过基类获取图片列表控件UICollectionViewCell的视图属性信息,以根据获取到的视图属性信息确定该图片列表控件UICollectionViewCell是否展示在界面上,从而可在图片列表控件UICollectionViewCell没有展示界面上时自动释放其所持有的图片资源,达到释放图片列表控件UICollectionViewCell展示图片所占用的内存资源的目的,解决了现有技术中需要在不同业务场景的应用程序中重复写释放图片逻辑代码所导致的代码混乱、开发效率低、出错率高等问题。
进一步而言,本发明实施例中的内存警告消息为系统内存不足时产生的。图片列表控件的视图属性信息可以用于确定图片列表控件是否展示在屏幕上,具体可以包括以下至少一项:父视图属性信息、窗口属性信息和可见性属性信息。
在本发明的一个可选实施方式中,视图属性信息包括父视图属性信息,依据所述视图属性信息确定所述图片列表控件是否展示在屏幕上可以包括:基于所述父视图属性信息,检测所述图片列表控件的父视图是否存在;若所述父视图不存在,则确定所述图片列表控件没有展示在屏幕上。具体而言,本发明实施例中的应用程序可以通过继承图片列表控件的基类监听内存警告消息,从而可以接收到该内存警告消息,并可针对该内存警告消息获取图片列表控件的父视图属性信息,以根据获取到的父视图属性信息检测该图片列表控件的父视图是否存在,从而可以在检测到该图片列表控件的父视图是否存在时,确定图片列表控件没有展示在屏幕上,随后可释放该图片列表控件所持有的图片,即清理该图片列表控件的视图上的图片资源,进而可以释放该图片列表控件展示图片所占用的系统内存。
另外,在获取到的视图属性信息包括窗口属性信息的情况下,本发明实施例也可以通过窗口属性信息确定图片列表控件没有展示在屏幕上。在另一个可选实施方式中,依据所述视图属性信息确定所述图片列表控件是否展示在屏幕上可以包括:基于获取到的窗口属性信息确定图片列表控件的窗口属性值;当所述窗口属性值为无效值时,确定图片列表控件没有在屏幕上。具体而言,图片列表控件要展示在屏幕上,其窗口(Window)属性必须有值,即该图片列表控件的窗口属性值为有效值。本发明实施例在获取到图片列表控件的窗口属性信息后,可以基于获取到的窗口属性信息确定出该图片列表控件的窗口属性值;若窗口属性值为无效值,如在图片列表控件的Window属性没有值的情况下,则可以确定图片列表控件没有展示在屏幕上,随后可释放该图片列表控件所持有的图片,以释放该图片列表控件展示图片所占用的系统内存。
进一步的,本发明实施例在在窗口属性值为有效值时,还可以通过可见性属性信息判断图片列表控件是否展示在屏幕上。可选的,本发明实施例依据所述视图属性信息确定所述图片列表控件是否展示在屏幕上还包括:在所述窗口属性值为有效值时,判断所述可见性属性信息是否在所述图片列表控件的可见性数组中;若所述可见性属性信息不在所述可见性数组中,则确定图片列表控件没有展示在屏幕上。若所述可见性属性信息在所述可见性数组中,则可以确定图片列表控件展示在屏幕上,随后可忽略该图片列表控件所持有的图片,即不清理该图片列表控件中的图片,使得该图片列表控件中的图片可以继续展示在屏幕上,保证该图片列表控件中的图片正常展示。
可选的,本发明实施例在在释放所述图片列表控件所持有的图片之后,还可以将所述图片列表控件的标志位信息设置为第一状态信息,以标记该图片列表控件所持有的图片已被释放,达到标记已释放图片资源的目的。
在实际处理中,在为图片列表控件设置图片时,可以记住该图片的统一资源定位符(Uniform Resource Locator,URL),并可为该图片列表控件设置志位信息,以标记该图片列表控件的视图是否被释放了图片资源。可选的,本发明实施例提供的图片处理方法在接收内存警告消息之前,还包括:设置图片列表控件的标志位信息。其中,标志位信息可以包括第一状态信息和第二状态信息;第一状态信息可以用于表示图片列表控件所持有的图片已被释放;第二状态信息可以表示图片列表控件所持有的图片没有被释放。
例如,在标志位信息是一个布尔变量的情况下,具有是(Yes)和否(No)这两种状态,并可以将Yes作为第一状态信息,将No作为第二状态信息;在释放图片列表控件所持有的图片时,标志位信息的赋值为Yes;在恢复图片列表控件所持有的图片时,如果判断出该图片列表控件的标志位信息是Yes,即可确定出该图片列表控件所持有的图片已被释放,要恢复该图片列表控件所持有的图片,可以将该图片列表控件标志位信息的赋值为No。
进一步的,本发明实施提供的图片处理方法还可以包括:接收视图变化消息;针对所述视图变化消息,判断是否需要恢复所述图片列表控件所持有的图片;若需要恢复所述图片列表控件所持有的图片,则依据所述图片的统一资源定位符信息进行恢复,并将所述图片列表控件的标志位信息修改为第二状态信息。具体而言,在图片列表控件的视图消失或出现时,可以产生视图变化消息,从而使得应用程序可以接收到该视图变化消息。应用程序在接收到视图变化消息后,可以通过判断该图片列表控件的视图是否展示在屏幕上,来确定是否需要恢复该图片列表控件所持有的图片。若图片列表控件的视图是否展示在屏幕,则可以确定需要恢复该图片列表控件所持有的图片,随后可以根据该图片的URL下载图片,进行恢复,并可将该图片列表控件的标志位信息修改为第二状态信息,以标记图片列表控件所持有的图片没有被释放。
参照图2,示出了本发明一个可选实施例中的一种图片处理方法的步骤流程示意图,该图片处理方法具体可以包括如下步骤:
步骤210,设置图片列表控件的标志位信息。
在实际处理中,为了在释放完资源后能够恢复图片显示,可以在设置图片时可以记住该图片,如记住该图片的统一资源定位符信息。该统一资源定位符信息可以表示图片的URL。例如,网络图片通常有一个URL,在为图片列表控件UICollectionViewCell设置图片时,可以记住图片的URL,以作为该图片的统一资源定位符信息;并设置图片列表控件的标志位信息,如可以将图片列表控件的标志位信息设置为第二状态信息。
步骤220,接收内存警告消息。
其中,内存警告消息为系统内存不足时产生的。
例如,在设备安装有移动设备操作系统——iOS系统的情况下,iOS系统在系统内存不足时,可以产生内存警告消息,以通知该设备中启动的应用程序当前系统内存不足。亦即,应用程序可以通过接收该内存警告消息确定出系统内存不足。
步骤230,针对所述内存警告消息,获取图片列表控件的视图属性信息。
具体的,获取到的视图属性信息包括以下至少一项:父视图属性信息、窗口属性信息和可见性属性信息。
步骤240,依据所述视图属性信息确定所述图片列表控件是否展示在屏幕上。
作为本发明的一个可选示例,在获取到的视图属性信息包括父视图属性信息、窗口属性信息以及可见性属性信息这三种信息的情况下,可以通过这三种信息确定图片列表控件的可见性。具体的,可以基于父视图属性信息,检测图片列表控件的父视图是否存在;若图片列表控件的父视图不存在,则可以确定该图片列表控件没有展示在屏幕上,随后执行步骤250。若所述父视图存在,则可以基于获取到的窗口属性信息确定图片列表控件的窗口属性值。当窗口属性值为无效值时,可以确定图片列表控件没有在屏幕上,然后执行步骤250。在所述窗口属性值为有效值时,判断所述可见性属性信息是否在所述图片列表控件的可见性数组中;若所述可见性属性信息不在所述可见性数组中,则确定图片列表控件没有在屏幕,随后执行步骤250。可见,本发明实施例在判断图片列表控件的可见性,采用了多重判断以保证准确性。
作为本发明的一个示例,图片列表控件UICollectionViewCell要存在屏幕上,首先它的父视图必须存在,其次它的Window属性必须有值,同时作为它的容器的视图UICollectionView有一个可见性数组属性visibleCells可拿到当前正展示在屏幕上的图片列表控件UICollectionViewCell,因此还可以通过判断自己的可见性属性信息是否在可见性数组里面来判断其可见性。具体的,可以获取到的父视图属性信息,确定图片列表控件UICollectionViewCell的父视图SuperView是否存在;并可根据获取到的窗口属性信息检测图片列表控件UICollectionViewCell的window属性值,以确定该图片列表控件UICollectionViewCell的window属性值是否为有效值;以及,可以通过调用应用代理的一个方法,判断获取到的可见性属性信息是否在图片列表控件UICollectionViewCell的可见性数组visibleCells里面。若父视图SuperView存在、window属性值为有效值以及可见性属性信息是在图片列表控件UICollectionViewCell的可见性数组visibleCells里面,则可以确定图片列表控件UICollectionViewCell的视图展示在屏幕上,即图片列表控件UICollectionViewCell是可见的。若父视图SuperView不存在,和/或,window属性值为无效值,和/或,可见性属性信息是不在图片列表控件UICollectionViewCell的可见性数组visibleCells里面,则可以确定该图片列表控件UICollectionViewCell是不可见的,即图片列表控件UICollectionViewCell的视图没有展示在屏幕上,随后执行步骤250。
步骤250,释放所述图片列表控件所持有的图片,并将所述图片列表控件的标志位信息设置为第一状态信息。
可见,本发明实施例在确定出图片列表控件没有展示在屏幕上时,能够自动释放该图片列表控件所持有的图片,即可以在在适当的时机释放图片列表控件所持有的图片资源,减少因内存不足导致应用崩溃的概率;且在释放图片列表控件所持有的图片后,可将该图片列表控件的标志位信息设置为第一状态信息,以标记该图片列表控件所持有的图片资源已被释放,以便后续在接收到的视图变化消息时可以结合标志位信息确定是否需要恢复该图片列表控件的图片展示。
步骤260,接收视图变化消息。
本发明实施例中,视图变化消息具体可以包括:图片列表控件在屏幕消失时产生的消息和图片列表控件在屏幕出现时产生的消息。
步骤270,针对所述视图变化消息,判断是否需要恢复所述图片列表控件所持有的图片。
具体而言,本发明实施例在接收到视图变化消息后,可以通过解析该视图变化消息确定出该视图变化消息所对应的图片列表控件,随后可获取该图片列表控件的视图属性信息,以根据该视图属性信息确定该图片列表控件的视图是否展示在屏幕上,并可获取该图片列表控件的标志位信息确定该图片列表控件所持有的图片是否已被释放,从而可以判断出是否需要恢复该图片列表控件所持有的图片。具体的,若图片列表控件的视图展示在屏幕上,且该图片列表控件的标志位信息为第一状态信息,即在图片列表控件所持有的图片已被释放的情况下,则可以确定需要恢复所述图片列表控件所持有的图片,随后执行步骤280。若图片列表控件的视图没有展示在屏幕上,和/或,图片列表控件的标志位信息为第二状态信息,即在图片列表控件所持有的图片没有被释放的情况下,则可以确定不需要恢复该图片列表控件所持有的图片。
作为本发明的一个示例,当一个图片列表控件的视图在屏幕上消失或者出现时,系统可以产生对应的视图变化消息。应用程序在接收到该视图变化消息后,可调用移进移除窗口方法didMoveToWindow()和父视图方法didMoveToSuperView(),来确定图片列表控件的视图的消失和出现,并可以此来判断是否恢复该图片列表控件的图片。具体的,应用程序可以通过调用移进移除窗口方法didMoveToWindow()获取图片列表控件的窗口属性信息,并可通过父视图方法didMoveToSuperView()来获取图片列表控件的父视图属性信息,并可检测该窗口属性信息和父视图属性,以确定该图片列表控件的视图是否展示在屏幕上。若图片列表控件的视图展示在屏幕上,则可以确定需要恢复该图片列表控件所持有的图片,随后执行步骤280。
步骤280,依据所述图片的统一资源定位符信息进行恢复,并将所述图片列表控件的标志位信息修改为第二状态信息。
具体而言,本发明实施例在确定需要恢复图片列表控件所持有的图片时,可获取该图片的统一资源定位符信息,以根据统一资源定位符信息下载图片,并可将下载到图片设置为在该复图片列表控件中显示的图片,实现了自动恢复图片列表控件的图片资源,随后可将该图片列表控件的标志位信息修改为第二状态信息,以标记该图片列表控件所持有的图片没有被释放。
在实际应用中,可以利用本发明实施例提供的技术方案,创建一个继承自图片列表控件的基类,使得利用该图片列表控件来展示图片的应用程序只需要继承该基类,实现其协议即可实现自动释放和恢复图片列表控件的图片资源,实现统一代码,避免代码散乱的问题,减少重复代码,提高开发效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。
参照图3,示出了本发明实施例中的一种图片处理装置的结构方框示意图,该图片处理装置具体可以包括如下模块:
警告消息接收模块310,用于接收内存警告消息;
属性信息获取模块320,用于针对所述内存警告消息,获取图片列表控件的视图属性信息;
展示确定模块330,用于依据所述视图属性信息,确定所述图片列表控件是否展示在屏幕上;
图片释放模块340,用于当所述图片列表控件没有展示在屏幕上时,释放所述图片列表控件所持有的图片。
在本发明的一个可选实施例中,所述内存警告消息为系统内存不足时产生的,所述视图属性信息包括以下至少一项:父视图属性信息、窗口属性信息和可见性属性信息。
在上述实施例的基础上,可选地,展示确定模块330可以包括如下子模块:
父视图检测子模块,用于基于所述父视图属性信息,检测所述图片列表控件的父视图是否存在;
第一确定子模块,用于若所述父视图不存在,则确定所述图片列表控件没有展示在屏幕上。
可选的,展示确定模块330可以包括如下子模块:
窗口属性值确定子模块,用于基于所述窗口属性信息确定图片列表控件的窗口属性值,如用于在父视图存在时,基于所述窗口属性信息确定图片列表控件的窗口属性值;
第二确定子模块,用于当所述窗口属性值为无效值时,确定图片列表控件没有在屏幕上。
在本发明的一个可选实施例中,可选的,展示确定模块330还可以包括如下子模块:
可见性判断子模块,用于在所述窗口属性值为有效值时,判断所述可见性属性信息是否在所述图片列表控件的可见性数组中;
第三确定子模块,用于当所述可见性属性信息不在所述可见性数组中,确定图片列表控件没有展示在屏幕上。
在本发明的又一个可选实施例中,上述图片处理装置还可以包括:第一标志位设置模块。该第一标志位设置模块用于将所述图片列表控件的标志位信息设置为第一状态信息,如在图片释放模块340释放所述图片列表控件所持有的图片之后,将所述图片列表控件的标志位信息设置为第一状态信息。
在上述实施例的基础上,可选地,该图片处理装置还可以包括如下模块:
视图变化消息接收模块,用于接收视图变化消息;
恢复判断模块,用于针对所述视图变化消息,判断是否需要恢复所述图片列表控件所持有的图片;
图片恢复模块,用于在需要恢复所述图片列表控件所持有的图片时,依据所述图片的统一资源定位符信息进行恢复,并将所述图片列表控件的标志位信息修改为第二状态信息。
在本发明的一个可选实施例中,所述视图变化消息包括:图片列表控件在屏幕消失时产生的消息和图片列表控件在屏幕出现时产生的消息。
在上述实施例的基础上,可选地,该图片处理装置还可以包括模块:标志位信息设置模块。该标志位信息设置模块用于设置图片列表控件的标志位信息,如在警告消息接收模块310接收内存警告消息之前,设置图片列表控件的标志位信息。
需要说明的是,上述提供的图片处理装置可执行本发明任意实施例所提供的图片处理方法,具备执行方法相应的功能和有益效果。
在具体实现中,上述图片处理装置可以集成在设备或安装在设备中的应用程序中。该设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,如设备可以是PC、电脑、手机、平板设备、个人数字助理、游戏控制台等。
进一步的,本发明实施例还提供一种设备,包括:处理器和存储器。存储器中存储有至少一条指令,且指令由所述处理器执行,使得所述设备执行如上述方法实施例中所述的图片处理方法。
参照图4,示出了本发明一个示例中的一种设备的结构示意图。如图4所示,该设备具体可以包括:处理器40、存储器41、具有触摸功能的显示屏42、输入装置43、输出装置44以及通信装置45。该设备中处理器40的数量可以是一个或者多个,图4中以一个处理器40为例。该设备中存储器41的数量可以是一个或者多个,图4中以一个存储器41为例。该设备的处理器40、存储器41、显示屏42、输入装置43、输出装置44以及通信装置45可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的图片处理方法对应的程序指令/模块(例如,图片处理装置中的警告消息接收模块310、属性信息获取模块320展示确定模块330以及图片释放模块340等)。存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
显示屏42为具有触摸功能的显示屏42,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏42用于根据处理器40的指示显示数据,还用于接收作用于显示屏42的触摸操作,并将相应的信号发送至处理器40或其他装置。可选的,当显示屏42为红外屏时,其还包括红外触摸框,该红外触摸框设置在显示屏42的四周,其还可以用于接收红外信号,并将该红外信号发送至处理器40或者其他设备。
通信装置45,用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。
输入装置43可用于接收输入的数字或者字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置44可以包括扬声器等音频设备。需要说明的是,输入装置43和输出装置44的具体组成可以根据实际情况设定。
处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的图片处理方法。
本发明实施例还提供一种计算机可读存储介质,所述存储介质中的指令由设备的处理器执行时,使得设备能够执行如上述方法实施例所述的图片处理方法。示例性的,该图片处理方法包括:接收内存警告消息;针对所述内存警告消息,获取图片列表控件的视图属性信息;依据所述视图属性信息,确定所述图片列表控件是否展示在屏幕上;若所述图片列表控件没有展示在屏幕上,则释放所述图片列表控件所持有的图片。
需要说明的是,对于装置、设备、存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的图片处理方法。
值得注意的是,上述图片处理装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求范围决定。
Claims (11)
1.一种图片处理方法,其特征在于,包括:
根据收到的内存警告消息,获取图片列表控件的视图属性信息,所述视图属性信息包括以下至少一项:父视图属性信息、窗口属性信息和可见性属性信息;
依据所述视图属性信息,确定所述图片列表控件是否展示在屏幕上;
若所述图片列表控件没有展示在屏幕上,则释放所述图片列表控件所持有的图片。
2.根据权利要求1所述的图片处理方法,其特征在于,所述内存警告消息为系统内存不足时产生的,所述视图属性信息包括父视图属性信息,依据所述视图属性信息确定所述图片列表控件是否展示在屏幕上包括:
基于所述父视图属性信息,检测所述图片列表控件的父视图是否存在;
若所述父视图不存在,则确定所述图片列表控件没有展示在屏幕上。
3.根据权利要求2所述的图片处理方法,其特征在于,所述视图属性信息还包括窗口属性信息,依据所述视图属性信息确定所述图片列表控件是否展示在屏幕上还包括:
若所述父视图存在,则基于所述窗口属性信息确定图片列表控件的窗口属性值;
当所述窗口属性值为无效值时,确定图片列表控件没有在屏幕上。
4.根据权利要求3所述的图片处理方法,其特征在于,所述视图属性信息还包括可见性属性信息,依据所述视图属性信息确定所述图片列表控件是否展示在屏幕上还包括:
在所述窗口属性值为有效值时,判断所述可见性属性信息是否在所述图片列表控件的可见性数组中;
若所述可见性属性信息不在所述可见性数组中,则确定图片列表控件没有展示在屏幕上。
5.根据权利要求2至4任一所述的图片处理方法,其特征在于,所述方法在释放所述图片列表控件所持有的图片之后,还包括:
将所述图片列表控件的标志位信息设置为第一状态信息。
6.根据权利要求5所述的图片处理方法,其特征在于,所述方法还包括:
根据接收到的视图变化消息,判断是否需要恢复所述图片列表控件所持有的图片;
若需要恢复所述图片列表控件所持有的图片,则依据所述图片的统一资源定位符信息进行恢复,并将所述图片列表控件的标志位信息修改为第二状态信息。
7.根据权利要求6所述的图片处理方法,其特征在于,所述视图变化消息包括:图片列表控件在屏幕消失时产生的消息和图片列表控件在屏幕出现时产生的消息。
8.根据权利要求6所述的图片处理方法,其特征在于,所述方法在接收内存警告消息之前,还包括:
设置图片列表控件的标志位信息。
9.一种图片处理装置,其特征在于,包括:
属性信息获取模块,用于根据接收到的内存警告消息,获取图片列表控件的视图属性信息,所述视图属性信息包括以下至少一项:父视图属性信息、窗口属性信息和可见性属性信息;
展示确定模块,用于依据所述视图属性信息,确定所述图片列表控件是否展示在屏幕上;
图片释放模块,用于当所述图片列表控件没有展示在屏幕上时,释放所述图片列表控件所持有的图片。
10.一种图片处理设备,其特征在于,包括:处理器和存储器;
所述存储器中存储有至少一条指令,所述指令由所述处理器执行,使得所述设备执行如权利要求1至8任一所述的图片处理方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中的指令由设备的处理器执行时,使得设备能够执行如权利要求1至8任一所述的图片处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910950577.1A CN110658969B (zh) | 2019-10-08 | 2019-10-08 | 一种图片处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910950577.1A CN110658969B (zh) | 2019-10-08 | 2019-10-08 | 一种图片处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110658969A CN110658969A (zh) | 2020-01-07 |
CN110658969B true CN110658969B (zh) | 2024-01-09 |
Family
ID=69040129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910950577.1A Active CN110658969B (zh) | 2019-10-08 | 2019-10-08 | 一种图片处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110658969B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114528031A (zh) * | 2020-10-30 | 2022-05-24 | 武汉斗鱼鱼乐网络科技有限公司 | 一种图片展示方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544207A (zh) * | 2013-08-19 | 2014-01-29 | Tcl集团股份有限公司 | 一种图片加载显示的方法与系统 |
CN104267996A (zh) * | 2014-09-29 | 2015-01-07 | 广州金山网络科技有限公司 | 一种图片资源处理方法、装置及终端 |
CN106598523A (zh) * | 2016-12-16 | 2017-04-26 | 北京猎豹移动科技有限公司 | 图片加载方法、装置及电子设备 |
CN107219983A (zh) * | 2017-06-20 | 2017-09-29 | 武汉斗鱼网络科技有限公司 | 列表显示方法及装置 |
CN108900693A (zh) * | 2018-05-25 | 2018-11-27 | 北京小米移动软件有限公司 | 窗口显示方法及装置 |
CN109634598A (zh) * | 2018-12-14 | 2019-04-16 | 北京字节跳动网络技术有限公司 | 一种页面显示方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622347A (zh) * | 2011-01-26 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 图片管理方法及移动终端 |
CN103399822B (zh) * | 2013-08-14 | 2017-05-24 | 上海斐讯数据通信技术有限公司 | 用于解决申请图片内存不足的内存分配方法及系统 |
CN103973547B (zh) * | 2014-04-29 | 2015-07-01 | 腾讯科技(深圳)有限公司 | 图片显示方法和装置 |
CN107463627B (zh) * | 2017-07-11 | 2020-08-11 | 深圳市云领天下科技有限公司 | 一种图片加载方法及终端 |
-
2019
- 2019-10-08 CN CN201910950577.1A patent/CN110658969B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544207A (zh) * | 2013-08-19 | 2014-01-29 | Tcl集团股份有限公司 | 一种图片加载显示的方法与系统 |
CN104267996A (zh) * | 2014-09-29 | 2015-01-07 | 广州金山网络科技有限公司 | 一种图片资源处理方法、装置及终端 |
CN106598523A (zh) * | 2016-12-16 | 2017-04-26 | 北京猎豹移动科技有限公司 | 图片加载方法、装置及电子设备 |
CN107219983A (zh) * | 2017-06-20 | 2017-09-29 | 武汉斗鱼网络科技有限公司 | 列表显示方法及装置 |
CN108900693A (zh) * | 2018-05-25 | 2018-11-27 | 北京小米移动软件有限公司 | 窗口显示方法及装置 |
CN109634598A (zh) * | 2018-12-14 | 2019-04-16 | 北京字节跳动网络技术有限公司 | 一种页面显示方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110658969A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107783849B (zh) | 事件处理方法及客户端 | |
CN108845861B (zh) | 虚拟摄像头的实现方法及装置 | |
JP2022529300A (ja) | 違反イベント検出方法及び装置、電子デバイス並びに記憶媒体 | |
CN106445292B (zh) | 应用程序的分身管理方法及系统 | |
CN106973319B (zh) | 一种虚拟礼物展示方法和系统 | |
CN104579847B (zh) | 通信消息的监测方法和设备 | |
CN110022260B (zh) | 一种跨环境回执消息处理方法及系统 | |
CN108804194B (zh) | 通知栏消息处理方法、装置、用户终端及可读存储介质 | |
CN111367698B (zh) | 应用程序闪退的检测及处理方法、装置及电子设备 | |
CN104598128A (zh) | 一种基于用户操作行为来推荐解决方案的方法及装置 | |
CN106557250A (zh) | 一种在移动设备中的黑屏处理方法和装置 | |
CN109656440A (zh) | 应用程序图标显示方法、设备及介质 | |
CN114528517A (zh) | 一种视图处理方法、装置、电子设备及计算机可读介质 | |
CN107835984B (zh) | 热减轻用户体验 | |
CN111930565B (zh) | 分布式管理系统中组件的进程故障自愈方法、装置及设备 | |
CN104049983B (zh) | 一种提示信息更新方法、装置和电子设备 | |
CN108933947B (zh) | 弹幕显示方法及装置 | |
CN110658969B (zh) | 一种图片处理方法、装置、设备及存储介质 | |
CN106484260B (zh) | 一种移动终端的应用程序处理方法、装置和移动终端 | |
CN108762983B (zh) | 多媒体数据恢复方法及装置 | |
CN107491349B (zh) | 应用程序处理方法和装置、计算机设备、存储介质 | |
WO2019000820A1 (zh) | 锁屏界面消息的处理方法、装置及电子设备 | |
CN115037654B (zh) | 流量统计方法、装置、电子设备及可读存储介质 | |
CN110109719A (zh) | 一种推荐内容显示控制方法、终端及计算机可读存储介质 | |
CN107688498B (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 |