CN109213596B - 一种分配终端内存的方法和设备 - Google Patents
一种分配终端内存的方法和设备 Download PDFInfo
- Publication number
- CN109213596B CN109213596B CN201810866166.XA CN201810866166A CN109213596B CN 109213596 B CN109213596 B CN 109213596B CN 201810866166 A CN201810866166 A CN 201810866166A CN 109213596 B CN109213596 B CN 109213596B
- Authority
- CN
- China
- Prior art keywords
- memory
- pool
- application
- memory pool
- drawing 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.)
- Active
Links
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种分配终端内存的方法和设备,用以解决目前终端绘图应用进程运行过程中因系统空闲内存不足运行速度较慢的问题。本发明实施例首先接收应用对应的内存申请;最后在所述内存申请为绘图申请后,从系统内存中的绘图内存池中划分内存分配给所述应用进程使用。上述方法通过绘图内存预分配的方式,有效的提升了绘图应用进程相关操作的响应速度。
Description
技术领域
本发明涉及计算机领域,特别涉及一种分配终端内存的方法和设备。
背景技术
目前系统中各应用进程运行时共同使用系统内存,在应用程序运行过程中,会不断进行内存的分配和释放,而在系统中当某一硬件要读取数据时,会首先从缓存中查找需要的数据,因此,系统为了加快某一进程再次运行时的操作速度,对某一进程此前在运行时所占用的内存并不进行完全释放,从而形成应用缓存,而某一应用所形成的缓存同样占用系统内存,因此,经常发现系统经过长时间运行后,内存占用率越来越高,甚至出现内存分配失败的情况,最终导致程序崩溃。
而随着科技的不断发展,有关绘图设计操作的需求量越来越大,而绘图应用进程作为视觉展示进程,有着相对其他应用进程较高的优先级,但是大部分绘图应用进程在进行运行时,经常因为当前系统下其他应用进程产生的缓存较多,占用了大部分的系统内存,从而使系统内存中可用的内存较少,因此,绘图应用进程在运行时经常需要系统先对部分缓存进行回收得到新的可用内存,才能保证绘图应用进程继续运行,但因为绘图应用进程在运行过程中经常需要向系统中的内存频繁的进行内存申请和内存释放,而这一过程需要消耗一定的时间进行实现,因此,经常会导致绘图应用进程在运行过程中运行速度较慢,出现卡顿延迟的问题。
综上所述,目前终端绘图应用进程运行过程中因系统空闲内存不足运行速度较慢。
发明内容
本发明提供一种分配终端内存的方法和设备,用以解决目前终端绘图应用进程运行过程中因系统空闲内存不足运行速度较慢的问题。
第一方面,本发明实施例提供的一种分配终端内存的方法包括:
首先接收应用对应的内存申请;最后在所述内存申请为绘图申请后,从系统内存中的绘图内存池中划分内存分配给所述应用进程使用。
上述方法,将系统内存中的部分内存确定为绘图内存池,即相当于系统内存事先确定一部分内存专门提供给绘图应用进程进行使用,其他应用进程无法占用绘图内存池中的内存,因此,在有绘图应用进程进行绘图内存申请时,绘图内存池中直接提供部分内存分给绘图应用进程使用,有效的提升了绘图应用进程相关操作的响应速度。
在一种可能的实现方式中,若所述绘图内存池中未分配的内存大小不大于申请限值,则将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中。
上述方法,通过设定申请限值,每次绘图应用进程进行绘图内存申请时都对绘图内存池中未分配的内存进行确定,更好的确定当前绘图内存池中的未分配的内存的状态。在确定所述绘图内存池中未分配的内存大小不大于申请限值时,将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中,更好的确保绘图内存池中的未分配内存够绘图应用进程使用。
在一种可能的实现方式中,在需要释放所述绘图内存池中的内存时,判断所述绘图内存池中未分配的内存的大小是否大于释放限值;如果大于,则将释放的所述绘图内存池中的内存加入到系统内存中非绘图内存池中;否则,将释放的所述绘图内存池中的内存加入到系统绘图内存池中。
上述方法,在需要释放所述绘图内存池中的内存时,判断所述绘图内存池中未分配的内存的大小是否大于释放限值后,在大于阈值时将释放的内存加入到系统内存中非绘图内存池中,减少绘图内存池对系统内存不必要的占用,同时,在不大于阈值时将释放的内存加入到系统内存中非绘图内存池中,更好的确保绘图内存池中的内存足够绘图应用进程使用。
在一种可能的实现方式中,当系统内存中非绘图内存池中的内存小于非绘图内存限值时,将绘图内存池中的剩余内存加入到系统内存中的非绘图内存池中。
上述方法,在系统内存严重不足时,且绘图内存池中还剩余内存时,将绘图内存池中的部分剩余内存加入到系统内存中的非绘图内存池中,更好的保证系统其它应用进程的顺利运行。
在一种可能的实现方式中,加入非绘图内存池后的绘图内存池中剩余内存不小于最低内存值。
上述方法,通过设定绘图内存池中的剩余内存的最低内存值,可以在系统内存严重不足时,将绘图内存池中保留限定值外的剩余内存加入到系统内存中的非绘图内存池中,即可以更好的保证系统其它应用进程的顺利运行,又可以使绘图应用进程在绘图内存池所保留的最低内存值下更好的运行。
第二方面,本发明实施例还提供了一种分配终端内存的设备,该设备包括:处理单元以及存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行上述第一方面的各实施例的功能。
第三方面,本发明实施例还提供一种分配终端内存的设备,该设备包括:接收模块、处理模块,该设备具有实现上述第一方面的各实施例的功能。
第四方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
另外,第二方面至第四方面中任一一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分配终端内存的方法示意图;
图2为本发明实施例将固定空闲的内存加入到绘图内存池中示意图;
图3为本发明实施例绘图内存池中加入的内存使其满足固定值示意图;
图4为本发明实施例将释放的内存加入到非绘图内存池中示意图;
图5为本发明实施例将释放的内存加入到绘图内存池中示意图;
图6为本发明实施例第一种分配终端内存的设备的结构示意图;
图7为本发明实施例第二种分配终端内存的设备的结构示意图;
图8为本发明实施例一种终端的结构示意图;
图9为本发明实施例进行内存申请相关流程操作示意图;
图10为本发明实施例进行内存释放相关流程操作示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面对文中出现的一些词语进行解释:
(1)本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
(2)“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
(3)本发明实施例所指的“链表”是指一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
(4)本发明实施例所指的“线程”是指程序执行流的最小单元,是程序中一个单一的顺序控制流程。
(5)本发明实施例所指的“内存池”是指在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用,当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。
(6)本发明实施例所指的“ION”是指谷歌下一代内存管理器,用来支持不同的内存分配机制。
(7)本发明实施例所指的“申请限值”是指确定绘图内存池是否需要申请系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中的限定值。
(8)本发明实施例所指的“释放限值”是指确定是否需要将释放的所述绘图内存池中的内存加入到系统内存中非绘图内存池中的限定值。
(9)本发明实施例所指的“非绘图内存限值”是指确定是否需要将绘图内存池中的剩余内存加入到系统内存中的非绘图内存池中的限定值。
(10)本发明实施例所指的“最低内存值”是指在将绘图内存池中的部分或全部剩余内存加入到系统内存中的非绘图内存池时,绘图内存池需要保留的内存值。
如图1所示,本发明实施例提供一种分配终端内存的方法,具体包括以下步骤:
步骤100、接收应用对应的内存申请;
步骤101、在所述内存申请为绘图申请后,从系统内存中的绘图内存池中划分内存分配给所述应用进程使用。
通过上述方法,将系统内存中的部分内存确定为绘图内存池,通过绘图内存预分配的方式,使再有绘图应用进行绘图内存申请时,例如绘图应用进程进行绘图内存申请,则可从绘图内存池中直接分配内存,不需要在经过系统内存分配器进行获取,有效的提升了绘图应用相关操作的响应速度。
以下本发明实施例中以应用进程进行内存申请为例进行说明,需要说明的是,以应用进程进行内存申请的方式只是举例说明,任何进行内存申请的方式都适用本发明实施例。
本发明实施例中的绘图内存池是指在设备初始化的时候,预先从系统内存中进行创建的内存,也就是将系统内存中的部分内存划分出来,指定作为绘图应用进程使用的内存,其他应用进程无法占用所述绘图内存池中的内存,同时,所述绘图内存池的大小根据绘图应用进程的需要以及系统内存中空闲内存的大小可进行适应性变化。
其中,本发明实施例中可设定一个阈值,作为绘图内存池中内存首次分配的内存大小。
其中,Android/Linux里面的系统内存中都有跟order相关的链表,主要作用是更好的进行系统内存的动态的存储分配。因此,在设定所述阈值时,可以考虑通过链表进行所述阈值设定,也可以仅针对绘图内存池整体进行所述阈值设定。
阈值设定方式1:针对绘图内存池整体进行所述阈值设定。
绘图内存池中的内存满足至少N个并发最大图片刷新的内存大小,例如N=4。
其中,单张最大图片刷新的内存=图片长度*图片宽度*单位像素占用的字节数(此处应为比特数)/8/1024。
假设一个1080P分辨率,色深32bit(比特)的手机,单张最大图片刷新需要内存为1920*1080*32/8/1024=8100K,大约等于8M,那么满足至少4个并发最大图片刷新的内存即为32M。
阈值设定方式2:针对链表进行所述阈值设定。
需满足绘图内存池中每个order(次序)链表中空闲内存值不小于N个并发最大图片刷新的内存,例如N=4。
假设所述系统内存中的order链表中有四个链表,这四个链表分别是order为8,4,2,0的链表。
每个链表里面内存单位大小的计算公式为2^order*PageSize(图片大小),所述PageSize单位为4K。
比如本发明实施例中绘图内存池中的内存大小还需满足绘图内存池中每个order链表中的内存大小不小于4个并发最大图片刷新的内存,即32M,绘图内存池中共有四个order链表,要保证绘图内存池中每个order链表中的内存大小不小于32M,因此,order为0的链表中的内存至少需要等于32M,同理order为2,4,8的每个链表中的内存至少需要等于32M,故绘图内存池中的四个链表的内存总大小至少需要满足不低于32*4=128M。
其中,在满足条件1和条件2的基础上,本发明实施例中为了更好的保证绘图内存池中内存大小足够绘图应用进程运行使用,可使首次分配的绘图内存池中的内存稍大一些。
需要说明的是,上面列举的方式只是举例说明,任何能够确定所述阈值的大小的方式都适用本发明实施例。
其中,本发明实施例中不仅在设备初始化的时候创建了绘图内存池,同时,为了能够实现绘图内存池对内存的动态调节,还创建了绘图内存预申请线程,其主要作用是接收进行绘图使用的应用进程所发送的信号,并在成功收到所述信号后对当前绘图内存池中的未分配的内存大小进行判断,在确定绘图内存池中剩余内存过小时,向系统内存中的空闲内存申请部分内存加入到绘图内存池中,从而更好的保证绘图应用进程的顺利运行,而在确定绘图内存池中的剩余内存足够使用时,不再将进行释放的绘图应用进程所占用的内存加入到绘图内存池中,从而更好的保证绘图内存池中的剩余内存足够充裕且不过多的占用系统中的剩余内存。
绘图内存预申请线程接收进行绘图使用的应用进程所发送的信号,并在成功收到所述信号后对当前绘图内存池中的未分配的内存大小进行判断,其中根据进行绘图使用的应用进程向绘图内存预申请线程所发送的信号的时间不同,可分为多种情况,下面进行简单介绍。
发送时间1:进行绘图使用的应用进程向绘图内存池申请内存时。
具体的,进行绘图使用的应用进程向绘图内存池申请内存时,同时给绘图内存预申请线程发送信号,所述绘图预申请线程成功收到所述信号后对当前绘图内存池中的未分配的内存大小进行判断。
发送时间2:进行绘图使用的应用进程向绘图内存池申请内存前。
具体的,进行绘图使用的应用进程向绘图内存池申请内存前,给绘图内存预申请线程发送信号,所述绘图预申请线程成功收到所述信号后对当前绘图内存池中的未分配的内存大小进行判断,以确保当前绘图内存池剩余内存足够分配此次绘图应用进程使用。
发送时间3:进行绘图使用的应用进程向绘图内存池申请内存后。
具体的,进行绘图使用的应用进程向绘图内存池申请内存后,给绘图内存预申请线程发送信号,所述绘图预申请线程成功收到所述信号后对当前绘图内存池中的未分配的内存大小进行判断,以确保当前绘图内存池剩余内存足够进行下次绘图应用进程内存申请。
上述内容中,绘图内存预申请线程在收到信号后,对当前绘图内存池中的未分配的内存大小进行判断的方法主要是通过确定所述绘图内存池中未分配的内存大小是否大于申请限值进行判断。
具体的,无论绘图应用进程向绘图内存池申请内存成功还是申请内存失败,所述绘图应用进程都会给绘图内存预申请线程发送信号,所述绘图内存预申请线程在收到信号后,会对当前绘图内存池中的未分配的内存大小进行判断,判断内存池中未分配的内存大小是否大于申请限值。
需要说明的是,上面列举的方式只是举例说明,任何能够判断绘图内存池中内存的大小的方式都适用本发明实施例。
其中,本发明实施例中的申请限值主要指绘图内存池中的未分配的内存是否满足绘图应用进程顺利运行所需内存大小的界限值,因此,申请限值可设定为同绘图内存池首次分配内存大小值一致。
需要说明的是,上面确定申请限值的方式只是举例说明,任何适用确定申请限值的方式都适用本发明实施例。
其中,所述绘图内存预申请线程在收到信号后,对当前绘图内存池中的未分配的内存大小同申请限值进行判断后,根据判断结果的不同,可分两种情况,下面以进行绘图使用的应用进程向绘图内存池申请内存时,同时给绘图内存预申请线程发送信号的情况进行简单介绍。
情况1:绘图内存池中未分配的内存大小不大于申请限值。
当在进行绘图使用的应用进程向绘图内存池申请内存时,同时给绘图内存预申请线程发送信号,所述绘图内存预申请线程在收到信号后,会对当前绘图内存池中的未分配的内存大小进行判断,判断内存池中未分配的内存大小是否大于申请限值,若所述绘图内存池中未分配的内存大小不大于申请限值,则将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中。
假设设定申请限值为128M,当在进行绘图使用的应用进程向绘图内存池申请内存时,同时给绘图内存预申请线程发送信号,所述绘图内存预申请线程在收到信号后,对当前绘图内存池中的未分配的内存大小进行判断,当前绘图内存池中未分配的内存大小为80M,通过判断可知所述绘图内存池中未分配的内存大小不大于申请限值,因此,将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中。
情况2:绘图内存池中未分配的内存大小大于申请限值。
当在进行绘图使用的应用进程向绘图内存池申请内存时,同时给绘图内存预申请线程发送信号,所述绘图内存预申请线程在收到信号后,会对当前绘图内存池中的未分配的内存大小进行判断,判断内存池中未分配的内存大小是否大于申请限值,若所述绘图内存池中未分配的内存大小大于申请限值,则等待下一次进行绘图使用的应用进程向绘图内存池申请内存。
假设设定申请限值为128M,当在进行绘图使用的应用进程向绘图内存池申请内存时,同时给绘图内存预申请线程发送信号,所述绘图内存预申请线程在收到信号后,对当前绘图内存池中的未分配的内存大小进行判断,当前绘图内存池中未分配的内存大小为130M,通过判断可知所述绘图内存池中未分配的内存大小大于申请限值,等待下一次进行绘图使用的应用进程向绘图内存池申请内存。
通过上述方法,在确定所述绘图内存池中未分配的内存大小不大于申请限值时,将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中,更好的确保绘图内存池中的未分配内存够绘图应用进程使用。
其中,在情况2所述情景下时,当所述绘图内存池中未分配的内存大小不大于申请限值,将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中时,需要确定加入绘图内存池中的内存大小,根据加入绘图内存池中内存大小的不同可分为几种情况,下面列举几种。
加入内存方法1:加入固定大小内存。
具体的,当所述绘图内存池中未分配的内存大小不大于申请限值,将事先确定大小的系统内存中除绘图内存池之外的空闲的内存加入到所述绘图内存池中。
如图2所示,假设申请限值为128M,事先确定需要加入到绘图内存池中的内存为30M,当在进行绘图使用的应用进程向绘图内存池申请内存时,同时给绘图内存预申请线程发送信号,所述绘图内存预申请线程在收到信号后,对当前绘图内存池中的未分配的内存大小进行判断,当前绘图内存池中未分配的内存大小为100M,通过判断可知所述绘图内存池中未分配的内存大小不大于申请限值,因此,将系统内存中除绘图内存池之外的30M的空闲的内存加入到所述绘图内存池中。
加入内存方法2:所加入的内存值使绘图内存池中未分配内存的大小等于申请限值。
具体的,当所述绘图内存池中未分配的内存大小不大于申请限值,根据绘图内存池中未分配内存的大小确定加入的系统内存中除绘图内存池之外的空闲内存的大小。
如图3所示,假设申请限值为128M,当在进行绘图使用的应用进程向绘图内存池申请内存时,同时给绘图内存预申请线程发送信号,所述绘图内存预申请线程在收到信号后,对当前绘图内存池中的未分配的内存大小进行判断,当前绘图内存池中未分配的内存大小为80M,通过判断可知所述绘图内存池中未分配的内存大小不大于申请限值,且所述绘图内存池还需48M内存才能使绘图内存池中未分配的内存大小等于申请限值128M,因此,将系统内存中除绘图内存池之外的48M的空闲的内存加入到所述绘图内存池中,以使绘图内存池中未分配内存的大小等于申请限值。
当应用进程结束运行后,系统会将所述应用进程运行时使用的相应内存进行释放。
在需要释放所述绘图内存池中的内存时,判断所述绘图内存池中未分配的内存的大小是否大于释放限值,根据所述判断结果的不同,可分为几种情况,下面列举几种。
情况1:所述绘图内存池中未分配的内存的大小大于释放限值。
具体的,在需要释放所述绘图内存池中的内存时,当所述绘图内存池中未分配的内存的大小大于释放限值时,则将释放的所述绘图内存池中的内存加入到系统内存中非绘图内存池中。
如图4所示,假设设定释放限值为128M,将要释放的内存为10M,当应用进程结束运行后,在确定所述应用进程为进行绘图操作的应用进程后,所述应用进程内存释放前,所述绘图内存池中未分配的内存的大小值为130M,通过判断可知,所述绘图内存池中未分配的内存的大小值大于释放限值128M,因此,将释放的所述绘图内存池中的10M内存加入到系统内存中非绘图内存池中。
情况2:所述绘图内存池中未分配的内存的大小不大于释放限值。
具体的,在需要释放所述绘图内存池中的内存时,当所述绘图内存池中未分配的内存的大小不大于释放限值时,则将释放的所述绘图内存池中的内存加入到系统绘图内存池中。
如图5所示,假设设定释放限值为128M,将要释放的内存为10M,当应用进程结束运行后,在确定所述应用进程为进行绘图操作的应用进程后,所述应用进程内存释放前,所述绘图内存池中未分配的内存的大小值为90M,通过判断可知,所述绘图内存池中未分配的内存的大小值不大于释放限值128M,因此,将释放的所述绘图内存池中的10M内存加入到系统绘图内存池中,此时绘图内存池中未分配的内存值为100M。
通过上述方法,在需要释放所述绘图内存池中的内存时,判断所述绘图内存池中未分配的内存的大小是否大于释放限值后,在大于阈值时将释放的内存加入到系统内存中非绘图内存池中,减少绘图内存池对系统内存不必要的占用,同时,在不大于阈值时将释放的内存加入到系统内存中非绘图内存池中,更好的确保绘图内存池中的内存足够绘图应用进程使用。
其中,本发明实施例中,为了更好的保证绘图应用进程的顺利进行,还可将绘图内存池分为绘图内存池应用内存和绘图内存池空闲内存,所述绘图内存池应用内存用于分配内存给所述应用进程使用,所述绘图内存池空闲内存用于内存补充。
因本发明实施例中将绘图内存池进行划分,故在判断绘图内存池中未分配的内存的大小是否大于释放限值和/或申请限值时,根据对绘图内存池中未分配的内存的大小的确定方式不同,可分为多种情况,下面例举几种。
确定方式1:仅根据绘图内存池应用内存中未分配的内存的大小进行确定。
具体的,通过判断绘图内存池应用内存中未分配的内存的大小是否大于释放限值和/或申请限值,从而进行相应操作。
比如以内存释放为例,假设释放限值为100M,此时绘图内存池应用内存中未分配的内存的大小为60M。绘图内存池空闲内存中的内存的大小为100M。在需要释放所述绘图内存池中的内存时,通过判断所述绘图内存池中的绘图内存池应用内存未分配的内存的大小与释放限值的大小可知,绘图内存池应用内存未分配的内存小于释放限值,因此,将释放的所述绘图内存池中的内存加入到系统绘图内存池中。
确定方式2:根据绘图内存池中所有未分配的内存的大小进行确定。
所述绘图内存池中所有未分配的内存的大小=绘图内存池应用内存中未分配的内存的大小+绘图内存池空闲内存中内存的大小。
具体的,通过判断绘图内存池中所有未分配的内存的大小是否大于释放限值和/或申请限值,从而进行相应操作。
比如以内存释放为例,假设释放限值为100M,此时绘图内存池应用内存中未分配的内存的大小为60M。绘图内存池空闲内存中的内存的大小为50M。在需要释放所述绘图内存池中的内存时,通过判断所述绘图内存池中所有未分配的内存的大小与释放限值的大小可知,绘图内存池应用内存未分配的内存大于释放限值((50M+60M)>100M),因此,将释放的所述绘图内存池中的内存加入到系统内存中非绘图内存池中。
同时,本发明实施例在系统内存严重不足,而绘图内存池中还有未分配的内存时,为更好的保证系统其它程序的顺利运行,可将绘图内存池中的部分未分配内存进行回收。
具体的,当系统内存中非绘图内存池中的内存小于非绘图内存限值时,将绘图内存池中的剩余内存加入到系统内存中的非绘图内存池中。
假设设定非绘图内存限值为100M,当系统内存中非绘图内存池中的内存仅剩80M时,通过判断,系统内存中非绘图内存池中的内存小于非绘图内存限值100M,将绘图内存池中的剩余内存加入到系统内存中的非绘图内存池中。
其中,本发明实施例中确定从绘图内存池加入到系统内存中的非绘图内存池中的内存值的方式如下:
具体的,根据最低内存值将绘图内存池中的部分或全部剩余内存加入到系统内存中的非绘图内存池中,以使加入系统内存后绘图内存池中剩余内存不小于所述最低内存值。
假设设置最低内存值为32M,设定非绘图内存限值为100M,当系统内存中非绘图内存池中的内存仅剩80M时,通过判断,系统内存中非绘图内存池中的内存小于非绘图内存限值100M,保留绘图内存池中的32M剩余内存,将绘图内存池中其他内存加入到系统内存中的非绘图内存池中。
此外,绘图内存池中的最低内存值可根据order值最大的空闲内存列表中的内存进行设定,比如保留绘图内存池中order值最大的空闲内存列表中的内存,假设保留order为8的链表中的32M空闲内存,其中,order为8的链中的内存不足32M的,继续保留下个链表中的内存,直至所保留的空闲内存值为32M,将绘图内存池中除保留的空闲内存外的内存加入到系统内存中的非绘图内存池中。
需要说明的是,上面列举的方式只是举例说明,任何适用确定从绘图内存池加入到系统内存中的非绘图内存池中的内存值的方式都适用本发明实施例。
通过上述方法,在系统内存严重不足时,且绘图内存池中还剩余内存时,将绘图内存池中的部分剩余内存加入到系统内存中的非绘图内存池中,更好的保证系统其它应用进程的顺利运行。
如图6所示,本发明实施例提供一种分配终端内存的设备,该设备包括:处理单元600以及存储单元601,其中,所述存储单元601存储有程序代码,当所述程序代码被所述处理单元600执行时,使得所述处理单元600执行下列过程:
接收应用对应的内存申请;在所述内存申请为绘图申请后,从系统内存中的绘图内存池中划分内存分配给所述应用进程使用。
可选的,所述处理单元600具体用于:
若所述绘图内存池中未分配的内存大小不大于申请限值,则将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中。
可选的,所述处理单元600具体用于:
在需要释放所述绘图内存池中的内存时,判断所述绘图内存池中未分配的内存的大小是否大于释放限值;如果大于,则将释放的所述绘图内存池中的内存加入到系统内存中非绘图内存池中;否则,将释放的所述绘图内存池中的内存加入到系统绘图内存池中。
可选的,所述处理单元600具体用于:
当系统内存中非绘图内存池中的内存小于非绘图内存限值时,将绘图内存池中的剩余内存加入到系统内存中的非绘图内存池中。
可选的,加入非绘图内存池后的绘图内存池中剩余内存不小于最低内存值。
如图7所示,本发明实施例提供一种分配终端内存的设备,包括接收模块700和处理模块701:
接收模块700:接收应用对应的内存申请;
处理模块701:在所述内存申请为绘图申请后,从系统内存中的绘图内存池中划分内存分配给所述应用进程使用。
可选的,所述处理模块701具体用于:
若所述绘图内存池中未分配的内存大小不大于申请限值,则将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中。
可选的,所述处理模块701具体用于:
在需要释放所述绘图内存池中的内存时,判断所述绘图内存池中未分配的内存的大小是否大于释放限值;如果大于,则将释放的所述绘图内存池中的内存加入到系统内存中非绘图内存池中;否则,将释放的所述绘图内存池中的内存加入到系统绘图内存池中。
可选的,所述处理模块701具体用于:
当系统内存中非绘图内存池中的内存小于非绘图内存限值时,将绘图内存池中的剩余内存加入到系统内存中的非绘图内存池中。
可选的,加入非绘图内存池后的绘图内存池中剩余内存不小于最低内存值。
基于相同的构思,本发明实施例给出另一种分配终端内存的终端,如图8所示,终端800包括:射频(Radio Frequency,RF)电路810、电源820、处理器830、存储器840、输入单元850、显示单元860、摄像头870、通信接口880、以及无线保真(Wireless Fidelity,WiFi)模块880等部件。本领域技术人员可以理解,图8中示出的终端的结构并不构成对终端的限定,本申请实施例提供的终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图8对所述终端800的各个构成部件进行具体的介绍:
所述RF电路810可用于通信或通话过程中,数据的接收和发送。特别地,所述RF电路810在接收到基站的下行数据后,发送给所述处理器830处理;另外,将待发送的上行数据发送给基站。通常,所述RF电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
此外,RF电路810还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
WiFi技术属于短距离无线传输技术,所述终端800通过WiFi模块880可以连接的接入点(Access Point,AP),从而实现数据网络的访问。所述WiFi模块880可用于通信过程中,数据的接收和发送。
所述终端800可以通过所述通信接口880与其他终端实现物理连接。可选的,所述通信接口880与所述其他终端的通信接口通过电缆连接,实现所述终端800和其他终端之间的数据传输。
所述终端800能够实现通信业务,向其他联系人发送信息,因此所述终端800需要具有数据传输功能,即所述终端800内部需要包含通信模块。虽然图8示出了所述RF电路810、所述WiFi模块880、和所述通信接口880等通信模块,但是可以理解的是,所述终端800中存在上述部件中的至少一个或者其他用于实现通信的通信模块(如蓝牙模块),以进行数据传输。
例如,当所述终端800为手机时,所述终端800可以包含所述RF电路810,还可以包含所述WiFi模块880;当所述终端800为计算机时,所述终端800可以包含所述通信接口880,还可以包含所述WiFi模块880;当所述终端800为平板电脑时,所述终端800可以包含所述WiFi模块。
所述存储器840可用于存储软件程序以及模块。所述处理器830通过运行存储在所述存储器840的软件程序以及模块,从而执行所述终端800的各种功能应用以及数据处理,并且当处理器830执行存储器840中的程序代码后,可以实现本发明实施例图9中的部分或全部过程。
可选的,所述存储器840可以主要包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、各种应用程序(比如通信应用)以及人脸识别模块等;存储数据区可存储根据所述终端的使用所创建的数据(比如各种图片、视频文件等多媒体文件,以及人脸信息模板)等。
此外,所述存储器840可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述输入单元850可用于接收用户输入的数字或字符信息,以及产生与所述终端800的用户设置以及功能控制有关的键信号输入。
可选的,输入单元850可包括触控面板851以及其他输入终端852。
其中,所述触控面板851,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在所述触控面板851上或在所述触控面板851附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,所述触控面板851可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给所述处理器830,并能接收所述处理器830发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现所述触控面板851。
可选的,所述其他输入终端852可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元860可用于显示由用户输入的信息或提供给用户的信息以及所述终端800的各种菜单。所述显示单元860即为所述终端800的显示系统,用于呈现界面,实现人机交互。
所述显示单元860可以包括显示面板861。可选的,所述显示面板861可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置。
进一步的,所述触控面板851可覆盖所述显示面板861,当所述触控面板851检测到在其上或附近的触摸操作后,传送给所述处理器830以确定触摸事件的类型,随后所述处理器830根据触摸事件的类型在所述显示面板861上提供相应的视觉输出。
虽然在图8中,所述触控面板851与所述显示面板861是作为两个独立的部件来实现所述终端800的输入和输入功能,但是在某些实施例中,可以将所述触控面板851与所述显示面板861集成而实现所述终端800的输入和输出功能。
所述处理器830是所述终端800的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在所述存储器840内的软件程序和/或模块,以及调用存储在所述存储器840内的数据,执行所述终端800的各种功能和处理数据,从而实现基于所述终端的多种业务。
可选的,所述处理器830可包括一个或多个处理单元。可选的,所述处理器830可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到所述处理器830中。
所述摄像头870,用于实现所述终端800的拍摄功能,拍摄图片或视频。所述摄像头870还可以用于实现终端800的扫描功能,对扫描对象(二维码/条形码)进行扫描。
所述终端800还包括用于给各个部件供电的电源820(比如电池)。可选的,所述电源820可以通过电源管理系统与所述处理器830逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,所述终端800还可以包括至少一种传感器、音频电路等,在此不再赘述。
其中,存储器840可以存储与存储单元801相同的有程序代码,当所述程序代码被处理器830执行时,使得处理器830实现处理单元800的所有功能。
本发明实施例还提供一种非易失性可读存储介质,包括程序代码,当所述程序代码在计算设备上运行时,所述程序代码用于使所述计算设备执行分配终端内存的方法的步骤。
上述本申请提供的实施例中,从终端作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,终端可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
下面结合说明书附图对本发明实施例中一种分配终端内存的方法做进一步详细描述,下面选取内存申请和内存释放两个场景,且通过创建一个绘图内存预申请线程对绘图内存池中未分配的内存进行确定的情况分别进行介绍。
如图9所示,本发明实施例所述一种分配终端内存的方法中的内存申请相关流程操作包括:
步骤9000:在设备初始化的时,终端创建一个绘图内存池,并创建一个绘图内存预申请线程。
步骤9001:应用进程进行内存申请,绘图内存预申请线程等待唤醒信号。
步骤9002:判断应用进程对应的内存申请是否为绘图申请,若是,执行步骤9003,若否,执行步骤9004。
步骤9003:所述应用进程向绘图内存池中进行内存申请,并判断是否申请成功,若是,执行步骤9005,若否,执行步骤9006。
步骤9004:终端按照现有技术进行内存分配。
步骤9005:绘图内存池将部分内存分给申请进程使用,绘图内存池变小,并向绘图内存预分配线程发送信号。
步骤9006:终端按照现有技术进行内存分配,并向绘图内存预分配线程发送信号。
步骤9007:绘图内存预分配线程收到信号,判断当前绘图内存池中空闲内存是否过小,若是,执行步骤9008,若否,执行步骤9001。
步骤9008:绘图内存池从系统内存中的除绘图内存池之外的空闲内存中申请新的内存加入到绘图内存池中。
如图10所示,本发明实施例所述一种分配终端内存的方法中的内存释放相关流程操作包括:
步骤1000:应用进程运行结束,通过标准接口进行内存释放。
步骤1001:判断释放的内存是否用于绘图使用,若是,执行步骤1002,若否,执行步骤1003。
步骤1002:判断当前绘图内存池是否过大,若是,执行步骤1004,若否,执行步骤1005。
步骤1003:终端按照现有技术进行内存释放。
步骤1004:终端直接将释放的内存加入系统内存中的非绘图内存中。
步骤1005:终端直接将释放的内存加入系统内存中的绘图内存中。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种分配终端内存的方法,其特征在于,所述方法包括:
接收应用对应的内存申请;
在所述内存申请为绘图申请后,从系统内存中的绘图内存池中划分内存分配给所述应用的应用进程使用;所述绘图内存池包括绘图内存池应用内存和绘图内存池空闲内存,所述绘图内存池应用内存用于分配内存给所述应用进程使用,所述绘图内存池空闲内存用于内存补充;其中,划分的所述内存不小于N个并发最大图片刷新的内存,或者,划分后所述绘图内存池中每个次序链表中空闲内存值不小于N个并发最大图片刷新的内存;
该方法还包括:
若所述绘图内存池中未分配的内存大小不大于申请限值,则将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中,以使绘图内存池中未分配内存的大小等于申请限值;
该方法还包括:
当系统内存中非绘图内存池中的内存小于非绘图内存限值时,将绘图内存池中的剩余内存加入到系统内存中的非绘图内存池中。
2.如权利要求1所述的方法,其特征在于,该方法包括:
在需要释放所述绘图内存池中的内存时,判断所述绘图内存池中未分配的内存的大小是否大于释放限值;
如果大于,则将释放的所述绘图内存池中的内存加入到系统内存中非绘图内存池中;
否则,将释放的所述绘图内存池中的内存加入到系统绘图内存池中。
3.如权利要求2所述的方法,其特征在于,加入非绘图内存池后的绘图内存池中剩余内存不小于最低内存值。
4.一种分配终端内存的设备,其特征在于,该设备包括:处理单元以及存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行下列过程:
接收应用对应的内存申请;在所述内存申请为绘图申请后,从系统内存中的绘图内存池中划分内存分配给所述应用的应用进程使用;所述绘图内存池包括绘图内存池应用内存和绘图内存池空闲内存,所述绘图内存池应用内存用于分配内存给所述应用进程使用,所述绘图内存池空闲内存用于内存补充;其中,划分的所述内存不小于N个并发最大图片刷新的内存,或者,划分后所述绘图内存池中每个次序链表中空闲内存值不小于N个并发最大图片刷新的内存;
所述处理单元还用于:
若所述绘图内存池中未分配的内存大小不大于申请限值,则将系统内存中除绘图内存池之外的部分空闲的内存加入到所述绘图内存池中,以使绘图内存池中未分配内存的大小等于申请限值;
所述处理单元还用于:
当系统内存中非绘图内存池中的内存小于非绘图内存限值时,将绘图内存池中的剩余内存加入到系统内存中的非绘图内存池中。
5.如权利要求4所述的设备,其特征在于,所述处理单元具体用于:
在需要释放所述绘图内存池中的内存时,判断所述绘图内存池中未分配的内存的大小是否大于释放限值;如果大于,则将释放的所述绘图内存池中的内存加入到系统内存中非绘图内存池中;否则,将释放的所述绘图内存池中的内存加入到系统绘图内存池中。
6.如权利要求4所述的设备,其特征在于,加入非绘图内存池后的绘图内存池中剩余内存不小于最低内存值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810866166.XA CN109213596B (zh) | 2018-08-01 | 2018-08-01 | 一种分配终端内存的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810866166.XA CN109213596B (zh) | 2018-08-01 | 2018-08-01 | 一种分配终端内存的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109213596A CN109213596A (zh) | 2019-01-15 |
CN109213596B true CN109213596B (zh) | 2023-03-10 |
Family
ID=64987886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810866166.XA Active CN109213596B (zh) | 2018-08-01 | 2018-08-01 | 一种分配终端内存的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109213596B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021072716A1 (zh) * | 2019-10-17 | 2021-04-22 | 深圳市欢太科技有限公司 | 内存管理方法、装置、电子设备和计算机可读介质 |
CN111831435A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | 内存分配方法、装置、存储介质及电子设备 |
CN111831440A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | 内存回收方法、装置、存储介质及电子设备 |
CN113038141B (zh) * | 2021-03-26 | 2023-07-28 | 青岛海信移动通信技术有限公司 | 视频帧处理方法及电子设备 |
CN114996014A (zh) * | 2022-06-10 | 2022-09-02 | 维沃移动通信有限公司 | 基于ion分配器的内存分配方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675793A (en) * | 1992-09-30 | 1997-10-07 | Microsoft Corporation | Dynamic allocation of a common buffer for use by a set of software routines |
CN101739354A (zh) * | 2009-12-14 | 2010-06-16 | 浙江大学 | 基于内存池技术的brew手机h.264解码优化方法 |
CN102880551A (zh) * | 2012-07-28 | 2013-01-16 | 深圳市同洲电子股份有限公司 | 一种混合内存分配的方法、系统及浏览器 |
CN103885569A (zh) * | 2014-04-11 | 2014-06-25 | 珠海全志科技股份有限公司 | 内存的管理方法及装置 |
CN105302738A (zh) * | 2015-12-09 | 2016-02-03 | 北京东土科技股份有限公司 | 一种内存分配方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107665146B (zh) * | 2016-07-29 | 2020-07-07 | 华为技术有限公司 | 内存管理装置和方法 |
-
2018
- 2018-08-01 CN CN201810866166.XA patent/CN109213596B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675793A (en) * | 1992-09-30 | 1997-10-07 | Microsoft Corporation | Dynamic allocation of a common buffer for use by a set of software routines |
CN101739354A (zh) * | 2009-12-14 | 2010-06-16 | 浙江大学 | 基于内存池技术的brew手机h.264解码优化方法 |
CN102880551A (zh) * | 2012-07-28 | 2013-01-16 | 深圳市同洲电子股份有限公司 | 一种混合内存分配的方法、系统及浏览器 |
CN103885569A (zh) * | 2014-04-11 | 2014-06-25 | 珠海全志科技股份有限公司 | 内存的管理方法及装置 |
CN105302738A (zh) * | 2015-12-09 | 2016-02-03 | 北京东土科技股份有限公司 | 一种内存分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109213596A (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213596B (zh) | 一种分配终端内存的方法和设备 | |
CN107391259B (zh) | 资源处理方法和装置、计算机可读存储介质、移动终端 | |
CN110888746B (zh) | 内存管理方法、装置、存储介质及电子设备 | |
KR102083316B1 (ko) | 사용자 디바이스의 메모리 관리 방법 및 장치 | |
CN110609748B (zh) | 一种内存分配方法、电子设备及存储介质 | |
EP3471450B1 (en) | Network bandwidth management method, terminal and computer storage medium | |
CN110300328B (zh) | 一种视频播放控制方法、装置及可读存储介质 | |
CN111177025B (zh) | 数据存储方法、装置及终端设备 | |
CN104423996B (zh) | 视图刷新方法和装置 | |
CN104460934A (zh) | 多cpu调度方法及装置 | |
WO2021057623A1 (zh) | 内存回收方法、装置、电子设备及存储介质 | |
CN109144723B (zh) | 一种分配存储空间的方法和终端 | |
CN110674618A (zh) | 一种内容展示方法、装置、设备及介质 | |
CN103793267A (zh) | 队列的访问方法及装置 | |
US10158896B2 (en) | Video channel allocation management method and related device, and communication system | |
CN108011860B (zh) | 一种处理广播消息的方法、装置及终端 | |
CN109302669B (zh) | 轮询机制的设置方法、装置、存储介质及电子设备 | |
CN112261634B (zh) | 一种蓝牙传输控制方法、装置、终端设备和存储介质 | |
CN114546171A (zh) | 数据分发方法、装置、存储介质及电子设备 | |
US20160314756A1 (en) | Method and apparatus for allocating information display amount | |
WO2021115257A1 (zh) | 应用切换方法、装置、存储介质及电子设备 | |
CN105302733B (zh) | 一种内存分配的方法及装置 | |
CN111078405B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN110209491B (zh) | 一种资源管理方法、装置、服务器及存储介质 | |
CN112035036A (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee after: Qingdao Hisense Mobile Communication Technology Co.,Ltd. Address before: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11 Patentee before: HISENSE MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |