CN110895492B - 设备控制方法、装置、存储介质及电子设备 - Google Patents
设备控制方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110895492B CN110895492B CN201911269554.0A CN201911269554A CN110895492B CN 110895492 B CN110895492 B CN 110895492B CN 201911269554 A CN201911269554 A CN 201911269554A CN 110895492 B CN110895492 B CN 110895492B
- Authority
- CN
- China
- Prior art keywords
- memory
- preset
- capacity
- thread
- value
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本申请公开了一种设备控制方法、装置、存储介质及电子设备。该方法应用于电子设备,包括:获取该电子设备的剩余运行内存容量值;若该剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,该内存压缩率为已压缩的数据量占预设数据量的比值;若该内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若该文件页面数量大于预设数值则通过回收文件页面的方式回收内存;根据回收的运行内存容量为UI线程创建内存池;当可供分配的运行内存容量满足预设第二条件时,利用该内存池为该UI线程提供运行内存。本申请可以提高系统流畅度,减少卡顿。
Description
技术领域
本申请属于电子设备技术领域,尤其涉及一种设备控制方法、装置、存储介质及电子设备。
背景技术
随着技术的发展,电子设备中安装的各类应用程序越来越多,例如视频类应用、游戏类应用以及即时通讯类应用等。这使得电子设备经常需要在前台和后台运行很多个应用程序。相关技术中,当电子设备中运行多个应用程序时,该电子设备容易出现系统卡顿。
发明内容
本申请实施例提供一种设备控制方法、装置、存储介质及电子设备,可以提高系统流畅度,减少卡顿。
第一方面,本申请实施例提供一种设备控制方法,应用于电子设备,包括:
获取所述电子设备的剩余运行内存容量值;
若所述剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,所述内存压缩率为已压缩的数据量占预设数据量的比值;
若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存;
根据回收的运行内存容量为UI线程创建内存池;
当可供分配的运行内存容量满足预设第二条件时,利用所述内存池为所述UI线程提供运行内存。
第二方面,本申请实施例提供一种设备控制装置,应用于电子设备,包括:
第一获取模块,用于获取所述电子设备的剩余运行内存容量值;
第二获取模块,用于若所述剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,所述内存压缩率为已压缩的数据量占预设数据量的比值;
内存回收模块,用于若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存;
创建模块,用于根据回收的运行内存容量为UI线程创建内存池;
分配模块,用于当所述电子设备的系统为所述UI线程分配内存且可供分配的运行内存容量低于第一容量阈值时,利用所述内存池为所述UI线程分配内存。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的设备控制方法中的流程。
第四方面,本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的设备控制方法中的流程。
本申请实施例中,在剩余运行内存容量满足一定条件时,电子设备可以预先通过内存压缩和回收文件页面的方式为UI线程创建内存池,并在当前可供分配的运行内存较少或不足时,利用预先创建的内存池为该UI线程提供内存。由于UI线程为用于人机交互的线程,若分配给UI线程的运行内存不足,则容易引起人机交互卡顿。本实施例在运行内存较少或不足时利用预先创建的内存池为UI线程提供内存,可以保证UI线程所需的运行内存,从而减少UI线程低内存场景的发生概率和次数,提高UI线程的运行流畅性,从而提高系统流畅性,减少卡顿。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的设备控制方法的流程示意图。
图2是本申请实施例提供的设备控制方法的另一流程示意图。
图3至图4是本申请实施例提供的设备控制方法的场景示意图。
图5是本申请实施例提供的设备控制装置的结构示意图。
图6是本申请实施例提供的电子设备的结构示意图。
图7是本申请实施例提供的电子设备的另一结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等的电子设备。
请参阅图1,图1是本申请实施例提供的设备控制方法的流程示意图,流程可以包括:
101、获取电子设备的剩余运行内存容量值。
随着技术的发展,电子设备中安装的各类应用程序越来越多,例如视频类应用、游戏类应用以及即时通讯类应用等。这使得电子设备经常需要在前台和后台运行很多个应用程序。相关技术中,当电子设备中运行多个应用程序时,该电子设备容易出现系统卡顿。
在本申请实施例中,比如,电子设备可以先获取剩余运行内存容量值。需要说明的是,运行内存可以是指电子设备中的随机存取存储器(Random Access Memory,RAM)。
在获取到剩余运行内存容量值后,电子设备可以检测该剩余运行内存容量值是否满足预设的第一条件。
若检测到该剩余运行内存容量值满足预设的第一条件,则进入102。
若检测到该剩余运行内存容量值不满足预设的第一条件,则电子设备可以执行其它操作。
102、若剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,该内存压缩率为已压缩的数据量占预设数据量的比值。
比如,电子设备检测到其剩余运行内存容量值满足预设第一条件,在这种情况下,电子设备可以获取内存压缩率以及内存中的文件页面的数量。
其中,该内存压缩率可以是已压缩的数据量占预设数据量的比值。需要说明的是,例如电子设备预测到某些后台应用在接下来的一段时间内不会被使用,那么电子设备可以对这些后台应用占据的运行内存空间进行压缩。例如,这些后台应用的数据在运行内存中一共占据了500MB的存储空间。那么电子设备可以对该500MB的数据进行内存压缩,如将该500MB的数据压缩为100MB的数据大小。那么,这些后台应用的已压缩数据量为100MB。即,当前运行内存中已压缩的数据量为100MB。例如,预设数据量为500MB,那么当前的内存压缩率为100/500*100%=20%。
内存中的文件页面可以是指应用程序运行所需的一些资源文件以及应用程序运行时预加载的一些数据文件。
之后,电子设备可以检测该内存压缩率是否小于预设比率,并检测内存中的文件页面数量是否大于预设数值。
如果检测到该内存压缩率小于预设比率,或者检测到内存中的文件页面数量大于预设数值,那么可以进入103。
如果检测到该内存压缩率大于或等于预设比率,或者检测到内存中的文件页面数量小于或等于预设数值,那么电子设备可以执行其它操作。
103、若内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若文件页面数量大于预设数值则通过回收文件页面的方式回收内存。
比如,电子设备检测到其当前的内存压缩率小于预设比率,那么可以认为当前已压缩的数据量还较少。在这种情况下,电子设备可以通过内存压缩的方式回收内存。
和/或,电子设备检测到内存中的文件页面数量大于预设数值,那么可以认为当前内存中的文件页面数量过多。在这种情况下,电子设备可以通过回收部分文件页面的方式回收内存。
104、根据回收的运行内存容量为UI线程创建内存池。
比如,在通过内存压缩的方式回收了内存和/或通过回收部分文件页面的方式回收了内存后,电子设备可以根据回收到的运行内存容量为电子设备中的UI线程(UserInterface Thread)创建内存池。
需要说明的是,UI线程可以是指负责UI界面的显示、更新和控件交互的线程。为UI线程创建内存池即在运行内存上为UI线程开辟存储空间。
105、当可供分配的运行内存容量满足预设第二条件时,利用内存池为UI线程提供运行内存。
比如,在为UI线程创建了内存池后,当可用于分配的运行内存容量满足预设第二条件时,电子设备可以利用该内存池为该UI线程提供运行内存。其中,可用于分配的运行内存容量可以是指当前的剩余运行内存中除为UI线程创建的内存池之外的那部分内存容量。可供分配的运行内存容量满足预设第二条件可以是指可供分配的运行内存容量较小或不足。
可以理解的是,本申请实施例中,在剩余运行内存容量满足一定条件时,电子设备可以预先通过内存压缩和回收文件页面的方式为UI线程创建内存池,并在当前可供分配的运行内存较少或不足时,利用预先创建的内存池为该UI线程提供内存。由于UI线程为用于人机交互的线程,若分配给UI线程的运行内存不足,则容易引起人机交互卡顿。本实施例在运行内存较少或不足时利用预先创建的内存池为UI线程提供内存,可以保证UI线程所需的运行内存,从而减少UI线程低内存场景的发生概率和次数,提高UI线程的运行流畅性,从而提高系统流畅性,减少卡顿。
请参阅图2,图2为本申请实施例提供的设备控制方法的另一流程示意图,流程可以包括:
201、电子设备获取剩余运行内存容量值。
比如,本实施例中,电子设备使用的是安卓(Android)操作系统。电子设备可以先获取其目前的剩余运行内存容量值。需要说明的是,运行内存可以是指电子设备中的随机存取存储器(Random Access Memory,RAM)。
202、电子设备检测剩余运行内存容量值是否大于或等于第一容量阈值。
比如,在获取到剩余运行内存容量值,电子设备可以检测该剩余运行内存容量值是否大于或等于第一容量阈值。
若检测到该剩余运行内存容量值大于或等于第一容量阈值,则可以进入203中。
若检测到该剩余运行内存容量值小于第一容量阈值,则可以认为电子设备当前的剩余运行内存容量值较小。在这种情况下,电子设备可以执行其它操作,而不需要为UI线程创建内存池。
203、若剩余运行内存容量值大于或等于第一容量阈值,则电子设备确定出该剩余运行内存容量值满足预设第一条件。
比如,电子设备检测到其当前的剩余运行内存容量值大于或等于第一容量阈值,那么可以认为电子设备当前的剩余运行内存容量值较大。在这种情况下,电子设备可以确定出其剩余运行内存容量值满足预设第一条件。
204、电子设备获取内存压缩率和内存中的文件页面数量,该内存压缩率为已压缩的数据量占预设数据量的比值。
比如,在确定出剩余运行内存容量值满足预设第一条件的情况下,电子设备可以获取内存压缩率和内存中的文件页面数量,其中,该内存压缩率可以是已压缩的数据量占预设数据量的比值。
需要说明的是,内存压缩是指电子设备可以对某些暂时不会使用到的后台应用的数据在运行内存中进行压缩,从而释放出更多的运行内存空间的处理操作。当需要使用这些后台应用时,电子设备可以对已被压缩的数据进行解压缩,从而使应用可以正常运行。
内存压缩率可以是已压缩的数据量占预设数据量的比值。例如,电子设备预测到某些后台应用在接下来的一段时间内不会被使用,那么电子设备可以对这些后台应用占据的运行内存空间进行压缩。例如,这些后台应用的数据在运行内存中一共占据了500MB的存储空间。那么电子设备可以对该500MB的数据进行内存压缩,如将该500MB的数据压缩为100MB的数据大小。那么,这些后台应用的已压缩数据量为100MB。即,当前运行内存中已压缩的数据量为100MB。例如,预设数据量为500MB,那么当前的内存压缩率为100/500*100%=20%。
运行内存中的文件页面可以是指应用程序运行所需的一些资源文件以及应用程序运行时预加载的一些数据文件。
之后,电子设备可以检测该内存压缩率是否小于预设比率,并检测内存中的文件页面数量是否大于预设数值。
如果检测到该内存压缩率小于预设比率,或者检测到内存中的文件页面数量大于预设数值,那么可以进入205。
如果检测到该内存压缩率大于或等于预设比率,或者检测到内存中的文件页面数量小于或等于预设数值,那么电子设备可以执行其它操作。需要说明的是,若内存压缩率大于或等于预设比率,那么可以认为运行内存中已经有很多被内存压缩的数据了,此时不适宜继续通过内存压缩的方式回收内存。而若检测到运行内存中的文件页面的数量小于或等于预设数值,那么可以认为运行内存中的文件页面的数量较少。为了避免因为文件页面太少导致IO阻塞,本实施例可以在运行内存中的文件页面数量较少时,不进行回收文件页面以回收内存的操作。
205、若内存压缩率小于预设比率,则电子设备基于kswapd进程通过内存压缩的方式回收内存;和/或,若文件页面数量大于预设数值,则电子设备基于kswapd进程通过回收文件页面的方式回收内存。
比如,电子设备可以设置一个内存压缩的数据量上限值,即电子设备的运行内存中所允许存在的被内存压缩的最大数据量。比如,电子设备检测到当前的内存压缩率小于预设比率,那么可以认为还有比较多的存储空间可用于存放被压缩的数据。在这种情况下,电子设备可以基于kswapd进程通过内存压缩的方式回收运行内存。
需要说明的是,kswapd进程是安卓操作系统中的一个用于回收内存的后台进程。在本实施例中,因为kswapd为后台进程,不会阻塞前台进程,因此可以基于kswapd进程通过内存压缩的方式回收运行内存。
如果检测到运行内存中的文件页面数量大于预设数值,那么可以认为运行内存中的文件页面的数量过多。在这种情况下,电子设备可以基于kswapd进程通过回收文件页面的方式回收内存。同样的,因为kswapd为后台进程,不会阻塞前台进程,因此可以基于kswapd进程通过回收文件页面的方式回收运行内存。
需要说明的是,通过内存压缩的方式回收内存和通过回收文件页面的方式回收内存,这二者是相互独立的,互不影响。当它们各自的内存回收条件满足了,就可以各自的方式来回收内存。
206、电子设备根据回收的运行内存容量为UI线程创建内存池。
比如,在通过内存压缩的方式回收了内存和/或通过回收部分文件页面的方式回收了内存后,电子设备可以根据回收到的运行内存容量为电子设备中的UI线程(UserInterface Thread)创建内存池。
需要说明的是,UI线程可以是指负责UI界面的显示、更新和控件交互的线程。为UI线程创建内存池即在运行内存上为UI线程开辟存储空间。
207、当电子设备的系统需要为UI线程分配内存时,该电子设备获取运行内存中除内存池外的可供分配的第一内存容量。
208、电子设备获取UI线程所需的第二内存容量。
209、若第一内存容量小于或等于第二内存容量,则电子设备利用内存池为UI线程提供运行内存。
比如,207、208和209可以包括:
当电子设备的系统需要为UI线程分配内存时,该电子设备可以获取运行内存中除为UI线程开辟的内存池外的可用于分配的内存容量(即第一内存容量)。并且,此时电子设备还可以获取UI线程所需的内存容量(即第二内存容量)。
之后,电子设备可以检测第一内存容量是否小于或等于第二内存容量。
如果电子设备检测到第一内存容量大于第二内存容量,那么可以认为运行内存还可以分配出UI线程所需的容量。此时,电子设备可以执行其它操作,例如从第一内存容量中分配运行内存给UI线程。
如果电子设备检测到第一内存容量小于或等于第二内存容量,那么可以认为运行内存中可以用于分配给UI线程所需的内存容量已经不足了。在这种情况下,电子设备可以利用之前为UI线程创建的内存池为该UI线程提供运行内存。
需要说明的是,本实施例中的UI线程可以不限定为某个具体的UI线程,也可以不限定UI线程的数量,即只要是系统中的UI线程,在正常的运行内存中没有足够的可供分配的内存容量时,该电子设备可以利用预先创建内存池为这些UI线程提供内存容量。
在另一种实施方式中,除了通过检测剩余运行内存容量值是否大于或等于第一容量阈值来判断剩余运行内存容量是否满足预设第一条件时,电子设备还可以通过如下方式来判断剩余运行内存容量是否满足预设第一条件:
在获取到电子设备的剩余运行内存容量值之后,电子设备获取运行内存总容量值;
电子设备计算剩余运行内存容量值占运行内存总容量值的比例;
若该比例大于或等于预设百分比,则电子设备确定出剩余运行内存容量值满足预设第一条件;
若该比例小于预设百分比,则电子设备确定出剩余运行内存容量值不满足预设第一条件。
比如,电子设备获取到剩余运行内存容量值为3GB,而运行内存总容量值为4GB,那么剩余运行内存容量值占运行内存总容量值的比例为75%。
例如,预设百分比为45%,那么电子设备可以检测到剩余运行内存容量值在运行内存总容量值中所占的比例75%大于预设百分比45%,此时可以认为还剩余较多的运行内存容量。那么,电子设备可以确定出剩余运行内存容量值满足预设第一条件。
又如,电子设备获取到剩余运行内存容量值为1GB,而运行内存总容量值为4GB,那么剩余运行内存容量值占运行内存总容量值的比例为25%。
例如,预设百分比为45%,那么电子设备可以检测到剩余运行内存容量值在运行内存总容量值中所占的比例25%大于预设百分比45%,此时可以认为还剩余较少的运行内存容量。那么,电子设备可以确定出剩余运行内存容量值不满足预设第一条件。
在另一种实施方式中,电子设备还可以通过如下方式来判断是否需要利用内存池为UI线程提供运行内存:
当电子设备的系统需要为UI线程分配内存且可供分配的运行内存容量低于第二容量阈值时,电子设备利用内存池为该UI线程提供运行内存。
比如,当电子设备的系统需要为UI线程分配运行内存时,电子设备可以获取目前可供分配的运行内存容量(即剩余运行内存中除内存池以外的可以用于分配的内存容量),并判断该可供分配的运行内存容量是否低于第二容量阈值。
如果判断出该可供分配的运行内存容量低于第二容量阈值,那么可以认为可供分配的运行内存容量较少,在这种情况下,电子设备可以利用预先创建的内存池为UI线程提供运行内存。
如果判断出该可供分配的运行内存容量不低于第二容量阈值,那么可以认为可供分配的运行内存容量还较多,在这种情况下,电子设备可以不利用预先创建的内存池为UI线程提供运行内存,而是仍然使用可供分配的运行内存为UI线程提供运行所需的内存容量。
在一种实施方式中,电子设备可以预先为UI线程的内存池设置容量上限。那么,电子设备可以在如下条件下通过内存压缩或回收运行内存中的文件页面的方式来回收运行内存,并利用回收到的那部分运行内存来创建UI线程的内存池:
若内存压缩率小于预设比率且UI线程的内存池的已有容量低于容量上限,则电子设备通过内存压缩的方式回收内存;
和/或,若文件页面数量大于预设数值且UI线程的内存池的已有容量低于容量上限,则电子设备通过回收文件页面的方式回收内存。
比如,预先为UI线程的内存池设置的容量上限为200MB,之前通过内存回收的方式已经为UI线程创建了大小为100MB的内存池。这表示UI线程的内存池还差100MB的容量。在这种情况下,如果检测到内存压缩率小于预设比率,则电子设备继续通过内存压缩的方式回收内存,并利用再次回收得到的运行内存来继续构建UI线程的内存池。和/或,如果检测到文件页面的数量大于预设数值,则电子设备可以继续通过回收文件页面的方式回收内存,并利用再次回收得到的运行内存来继续构建UI线程的内存池。
如果检测到UI线程的内存池的已有容量已经达到了200MB,那么电子设备可以不再需要通过内存压缩和回收文件页面的方式来回收内存了。
请参阅图3至图4,图3至图4为本申请实施例提供的设备控制方法的场景示意图。
比如,电子设备可以按照预设的时间间隔获取一次当前的剩余运行内存容量值,并检测该剩余运行内存容量值是否大于或等于第一容量阈值。
例如,本实施例中,电子设备当前检测到剩余运行内存容量值大于或等于第一容量阈值,此时可以认为还有较多的剩余运行内存容量。在这种情况下,电子设备可以确定出剩余运行内存容量值满足预设第一条件。
之后,电子设别可以获取内存压缩率和用于表示CPU负载的参数的数值(例如CPU使用率)。然后,电子设备可以检测该内存压缩率是否小于预设比率且该CPU使用率是否小于预设使用率阈值。若检测到该内存压缩率小于预设比率且该CPU使用率小于预设使用率阈值,那么可以认为内存压缩率较低并且CPU负载较低,此时适宜进行内存压缩以便进行内存回收。否则,可以认为不适宜进行内存压缩方式的内存回收。
例如,本实施例中,电子设备检测到内存压缩率小于预设比率且该CPU使用率小于预设使用率阈值,此时电子设备可以通过内存压缩的方式回收运行内存。例如,电子设备可以将某一预测出的暂时不会使用到的后台应用存储在运行内存中的数据由100MB压缩到20MB,如图3所示。即,电子设备回收到了80MB的运行内存空间。
并且,电子设备还可以获取运行内存中的文件页面的数量,并检测文件页面的数量是否大于预设数值。例如,电子设备检测到运行内存中文件页面的数量大于预设数值。那么此时,电子设备可以通过回收文件页面的方式来回收运行内存。例如,电子设备通过回收文件页面的方式回收到了20MB的运行内存空间。
通过上述方式,电子设备一共回收到了100MB的运行内存空间。之后,电子设备可以利用这100MB的运行内存空间为UI线程创建内存池。
例如,之后一段时间,如图4所示,用户开启了很多个应用程序,导致UI线程需要较多的运行内存容量。即,电子设备需要为UI线程分配运行内存。此时,电子设备可以获取当前的剩余运行内存中除内存池外的可供分配的第一内存容量,并获取UI线程所需的第二内存容量。例如,本实施例中,电子设备检测到该第一内存容量小于该第二内存容量,在这种情况下,电子设备可以利用之前创建的内存池为UI线程提供运行内存。
在一些实施方式中,如果UI线程需要分配运行内存时发现系统内存不足,那么在阻塞等待内存回收时电子设备可以先判断UI线程的内存池是否有可用运行内存。如果有,则使用UI线程内存池的运行内存。如果没有,则等待内存回收为UI线程分配内存。
如果是除UI线程之外的其他进程需要分配运行内存时发现系统运行内存不足,则这些进程只能直接阻塞等待内存回收,而不能使用为UI线程创建的内存池。
可以理解的是,本申请实施例中,电子设备为UI线程创建的内存池并非是在运行内存空间中预留一段存储空间,而是在电子设备的系统负载较轻(剩余运行内存容量值大于或等于第一容量阈值、内存压缩率较低并且CPU负载较低)时动态生成的。因此,本申请实施例为UI线程创建的内存池并不会过多地占用系统资源,从而减少对系统资源的抢占。
另外,本实施例通过为UI线程创建内存池的方式可以减少UI线程因为运行内存不足导致的卡顿现象,从而减少显示画面帧等用于人机交互的图像帧的丢失,提高用户体验。
请参阅图5,图5为本申请实施例提供的设备控制装置的结构示意图。设备控制装置300可以包括:第一获取模块301,第二获取模块302,内存回收模块303,创建模块304,分配模块305。
第一获取模块301,用于获取所述电子设备的剩余运行内存容量值;
第二获取模块302,用于若所述剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,所述内存压缩率为已压缩的数据量占预设数据量的比值;
内存回收模块303,用于若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存;
创建模块304,用于根据回收的运行内存容量为UI线程创建内存池;
分配模块305,用于当所述电子设备的系统为所述UI线程分配内存且可供分配的运行内存容量低于第一容量阈值时,利用所述内存池为所述UI线程分配内存。
在一种实施方式中,所述第一获取模块301可以用于:
检测所述剩余运行内存容量值是否大于或等于第一容量阈值;
若所述剩余运行内存容量值大于或等于第一容量阈值,则确定出所述剩余运行内存容量值满足预设第一条件;
所述剩余运行内存容量值小于第一容量阈值,则确定出所述剩余运行内存容量值不满足预设第一条件。
在一种实施方式中,所述第一获取模块301还可以用于:
获取所述电子设备的运行内存总容量值;
计算所述剩余运行内存容量值占所述运行内存总容量值的比例;
若所述比例大于或等于预设百分比,则确定出所述剩余运行内存容量值满足预设第一条件;
若所述比例小于预设百分比,则确定出所述剩余运行内存容量值不满足预设第一条件。
在一种实施方式中,所述分配模块305可以用于:
当所述电子设备的系统需要为所述UI线程分配内存且可供分配的运行内存容量低于第二容量阈值时,利用所述内存池为所述UI线程提供运行内存。
在一种实施方式中,所述分配模块305可以用于:
当所述电子设备的系统需要为所述UI线程分配内存时,获取所述电子设备的运行内存中除所述内存池外的可供分配的第一内存容量;
获取所述UI线程所需的第二内存容量;
若所述第一内存容量小于或等于所述第二内存容量,则利用所述内存池为所述UI线程提供运行内存。
在一种实施方式中,电子设备可以预先为所述UI线程的内存池设置容量上限。
那么,所述第一获取模块301可以用于:
若所述内存压缩率小于预设比率且所述UI线程的内存池的已有容量低于所述容量上限,则通过内存压缩的方式回收内存;
和/或,若所述文件页面数量大于预设数值且所述UI线程的内存池的已有容量低于所述容量上限,则通过回收文件页面的方式回收内存。
在一种实施方式中,所述电子设备使用的是安卓操作系统;所述内存回收模块303可以用于:
若所述内存压缩率小于预设比率,则基于kswapd进程通过内存压缩的方式回收内存;
和/或,若所述文件页面数量大于预设数值,则基于kswapd进程通过回收文件页面的方式回收内存。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的设备控制方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的设备控制方法中的流程。
例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图6,图6为本申请实施例提供的电子设备的结构示意图。
该电子设备400可以包括传感器401、存储器402、处理器403等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
传感器401可以包括陀螺仪传感器(例如三轴陀螺仪传感器)、加速度传感器等传感器。
存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
处理器403是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
在本实施例中,电子设备中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而执行:
获取所述电子设备的剩余运行内存容量值;
若所述剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,所述内存压缩率为已压缩的数据量占预设数据量的比值;
若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存;
根据回收的运行内存容量为UI线程创建内存池;
当可供分配的运行内存容量满足预设第二条件时,利用所述内存池为所述UI线程提供运行内存。
请参阅图7,电子设备400可以包括传感器401、存储器402、处理器403、输入单元404、输出单元405、扬声器406等部件。
传感器401可以包括陀螺仪传感器(例如三轴陀螺仪传感器)、加速度传感器等传感器。
存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
处理器403是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
输入单元404可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
输出单元405可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。输出单元可包括显示面板。
扬声器406可以用于播放声音信号。
此外,电子设备还可以包括诸如电池、麦克风等部件。电池用于为电子设备的各个模块供应电力,麦克风可以用于拾取周围环境中的声音信号。
在本实施例中,电子设备中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而执行:
获取所述电子设备的剩余运行内存容量值;
若所述剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,所述内存压缩率为已压缩的数据量占预设数据量的比值;
若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存;
根据回收的运行内存容量为UI线程创建内存池;
当可供分配的运行内存容量满足预设第二条件时,利用所述内存池为所述UI线程提供运行内存。
在一种实施方式中,在所述获取所述电子设备的剩余运行内存容量值之后,所述处理器403还可以执行:检测所述剩余运行内存容量值是否大于或等于第一容量阈值;若所述剩余运行内存容量值大于或等于第一容量阈值,则确定出所述剩余运行内存容量值满足预设第一条件;所述剩余运行内存容量值小于第一容量阈值,则确定出所述剩余运行内存容量值不满足预设第一条件。
在一种实施方式中,在所述获取所述电子设备的剩余运行内存容量值之后,处理器403还可以执行:获取所述电子设备的运行内存总容量值;计算所述剩余运行内存容量值占所述运行内存总容量值的比例;若所述比例大于或等于预设百分比,则确定出所述剩余运行内存容量值满足预设第一条件;若所述比例小于预设百分比,则确定出所述剩余运行内存容量值不满足预设第一条件。
在一种实施方式中,处理器403执行所述当可供分配的运行内存容量满足预设第二条件时,利用所述内存池为所述UI线程提供运行内存时,可以执行:当所述电子设备的系统需要为所述UI线程分配内存且可供分配的运行内存容量低于第二容量阈值时,利用所述内存池为所述UI线程提供运行内存。
在一种实施方式中,处理器403执行所述当可供分配的运行内存容量满足预设第二条件时,利用所述内存池为所述UI线程提供运行内存时,可以执行:当所述电子设备的系统需要为所述UI线程分配内存时,获取所述电子设备的运行内存中除所述内存池外的可供分配的第一内存容量;获取所述UI线程所需的第二内存容量;若所述第一内存容量小于或等于所述第二内存容量,则利用所述内存池为所述UI线程提供运行内存。
在一种实施方式中,电子设备可以预先为所述UI线程的内存池设置容量上限,那么处理器403执行所述若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存时,可以执行:若所述内存压缩率小于预设比率且所述UI线程的内存池的已有容量低于所述容量上限,则通过内存压缩的方式回收内存;和/或,若所述文件页面数量大于预设数值且所述UI线程的内存池的已有容量低于所述容量上限,则通过回收文件页面的方式回收内存。
在一种实施方式中,所述电子设备使用的是安卓操作系统;那么,处理器403执行若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存时,可以执行:若所述内存压缩率小于预设比率,则基于kswapd进程通过内存压缩的方式回收内存;和/或,若所述文件页面数量大于预设数值,则基于kswapd进程通过回收文件页面的方式回收内存。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对设备控制方法的详细描述,此处不再赘述。
本申请实施例提供的所述设备控制装置与上文实施例中的设备控制方法属于同一构思,在所述设备控制装置上可以运行所述设备控制方法实施例中提供的任一方法,其具体实现过程详见所述设备控制方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述设备控制方法而言,本领域普通技术人员可以理解实现本申请实施例所述设备控制方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述设备控制方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述设备控制装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种设备控制方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种设备控制方法,应用于电子设备,其特征在于,包括:
获取所述电子设备的剩余运行内存容量值;
若所述剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,所述内存压缩率为已压缩的数据量占预设数据量的比值;其中,所述剩余运行内存容量值满足预设第一条件是指剩余运行内存容量值大于或等于预设容量值;
若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存;
根据回收的运行内存容量为UI线程创建内存池;
当可供分配的运行内存容量满足预设第二条件时,利用所述内存池为所述UI线程提供运行内存;其中,所述可供分配的运行内存容量满足预设第二条件是指分配给UI线程所需的内存容量低于预设内存容量值。
2.根据权利要求1所述的设备控制方法,其特征在于,在所述获取所述电子设备的剩余运行内存容量值之后,还包括:
检测所述剩余运行内存容量值是否大于或等于第一容量阈值;
若所述剩余运行内存容量值大于或等于第一容量阈值,则确定出所述剩余运行内存容量值满足预设第一条件;
所述剩余运行内存容量值小于第一容量阈值,则确定出所述剩余运行内存容量值不满足预设第一条件。
3.根据权利要求1所述的设备控制方法,其特征在于,在所述获取所述电子设备的剩余运行内存容量值之后,还包括:
获取所述电子设备的运行内存总容量值;
计算所述剩余运行内存容量值占所述运行内存总容量值的比例;
若所述比例大于或等于预设百分比,则确定出所述剩余运行内存容量值满足预设第一条件;
若所述比例小于预设百分比,则确定出所述剩余运行内存容量值不满足预设第一条件。
4.根据权利要求1所述的设备控制方法,其特征在于,所述当可供分配的运行内存容量满足预设第二条件时,利用所述内存池为所述UI线程提供运行内存,包括:
当所述电子设备的系统需要为所述UI线程分配内存且可供分配的运行内存容量低于第二容量阈值时,利用所述内存池为所述UI线程提供运行内存。
5.根据权利要求1所述的设备控制方法,其特征在于,所述当可供分配的运行内存容量满足预设第二条件时,利用所述内存池为所述UI线程提供运行内存,包括:
当所述电子设备的系统需要为所述UI线程分配内存时,获取所述电子设备的运行内存中除所述内存池外的可供分配的第一内存容量;
获取所述UI线程所需的第二内存容量;
若所述第一内存容量小于或等于所述第二内存容量,则利用所述内存池为所述UI线程提供运行内存。
6.根据权利要求1所述的设备控制方法,其特征在于,所述方法还包括:预先为所述UI线程的内存池设置容量上限;
所述若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存,包括:
若所述内存压缩率小于预设比率且所述UI线程的内存池的已有容量低于所述容量上限,则通过内存压缩的方式回收内存;
和/或,若所述文件页面数量大于预设数值且所述UI线程的内存池的已有容量低于所述容量上限,则通过回收文件页面的方式回收内存。
7.根据权利要求1所述的设备控制方法,其特征在于,所述电子设备使用的是安卓操作系统;
若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存,包括:
若所述内存压缩率小于预设比率,则基于kswapd进程通过内存压缩的方式回收内存;
和/或,若所述文件页面数量大于预设数值,则基于kswapd进程通过回收文件页面的方式回收内存。
8.一种设备控制装置,应用于电子设备,其特征在于,包括:
第一获取模块,用于获取所述电子设备的剩余运行内存容量值;
第二获取模块,用于若所述剩余运行内存容量值满足预设第一条件,则获取内存压缩率和内存中的文件页面数量,所述内存压缩率为已压缩的数据量占预设数据量的比值;其中,所述剩余运行内存容量值满足预设第一条件是指剩余运行内存容量值大于或等于预设容量值;
内存回收模块,用于若所述内存压缩率小于预设比率则通过内存压缩的方式回收内存,和/或,若所述文件页面数量大于预设数值则通过回收文件页面的方式回收内存;
创建模块,用于根据回收的运行内存容量为UI线程创建内存池;
分配模块,用于当所述电子设备的系统为所述UI线程分配内存且可供分配的运行内存容量低于第一容量阈值时,利用所述内存池为所述UI线程分配内存。
9.一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上执行时,使得所述计算机执行如权利要求1至7中任一项所述的方法。
10.一种电子设备,包括存储器,处理器,其特征在于,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911269554.0A CN110895492B (zh) | 2019-12-11 | 2019-12-11 | 设备控制方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911269554.0A CN110895492B (zh) | 2019-12-11 | 2019-12-11 | 设备控制方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110895492A CN110895492A (zh) | 2020-03-20 |
CN110895492B true CN110895492B (zh) | 2023-01-10 |
Family
ID=69788608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911269554.0A Active CN110895492B (zh) | 2019-12-11 | 2019-12-11 | 设备控制方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110895492B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475299B (zh) * | 2020-04-03 | 2024-05-07 | Oppo广东移动通信有限公司 | 内存分配方法、装置、存储介质及电子设备 |
CN111949564B (zh) * | 2020-08-13 | 2024-05-17 | Vidaa(荷兰)国际控股有限公司 | 一种内存交换方法及显示设备 |
CN112035253B (zh) * | 2020-08-27 | 2023-01-20 | 浪潮商用机器有限公司 | 一种linux系统页缓存回收方法及相关装置 |
CN112948073A (zh) * | 2021-01-29 | 2021-06-11 | 京东方科技集团股份有限公司 | 一种运行内存的优化方法、装置及存储介质 |
CN113076194A (zh) * | 2021-03-29 | 2021-07-06 | Oppo广东移动通信有限公司 | 内存资源分配方法、装置、终端和存储介质 |
CN116243850B (zh) * | 2021-06-08 | 2024-05-28 | 荣耀终端有限公司 | 一种存储器管理方法及电子设备 |
CN115794413B (zh) * | 2023-01-09 | 2024-05-14 | 荣耀终端有限公司 | 一种内存处理方法及相关装置 |
CN117742957B (zh) * | 2023-12-20 | 2024-08-27 | 摩尔线程智能科技(北京)有限责任公司 | 内存分配方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569745A (zh) * | 2016-10-25 | 2017-04-19 | 暨南大学 | 一种内存过载下面向重复数据删除的内存优化系统 |
CN106980541A (zh) * | 2017-03-10 | 2017-07-25 | 浙江大学 | 一种大页内存压缩回收系统及方法 |
CN107908954A (zh) * | 2017-11-13 | 2018-04-13 | 湖南大学 | 一种基于地址压缩技术的动态检测gpu上内存溢出的方法 |
CN109725836A (zh) * | 2017-10-30 | 2019-05-07 | 普天信息技术有限公司 | 用户上下文压缩方法及装置 |
CN109902032A (zh) * | 2019-01-31 | 2019-06-18 | 泰康保险集团股份有限公司 | 堆外内存管理方法、装置、介质及电子设备 |
CN110457235A (zh) * | 2019-08-20 | 2019-11-15 | Oppo广东移动通信有限公司 | 内存压缩方法、装置、终端及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582426B2 (en) * | 2013-08-20 | 2017-02-28 | International Business Machines Corporation | Hardware managed compressed cache |
US9483184B2 (en) * | 2014-12-19 | 2016-11-01 | International Business Machines Corporation | Method to improve page out mechanism with compressed memory pools |
-
2019
- 2019-12-11 CN CN201911269554.0A patent/CN110895492B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569745A (zh) * | 2016-10-25 | 2017-04-19 | 暨南大学 | 一种内存过载下面向重复数据删除的内存优化系统 |
CN106980541A (zh) * | 2017-03-10 | 2017-07-25 | 浙江大学 | 一种大页内存压缩回收系统及方法 |
CN109725836A (zh) * | 2017-10-30 | 2019-05-07 | 普天信息技术有限公司 | 用户上下文压缩方法及装置 |
CN107908954A (zh) * | 2017-11-13 | 2018-04-13 | 湖南大学 | 一种基于地址压缩技术的动态检测gpu上内存溢出的方法 |
CN109902032A (zh) * | 2019-01-31 | 2019-06-18 | 泰康保险集团股份有限公司 | 堆外内存管理方法、装置、介质及电子设备 |
CN110457235A (zh) * | 2019-08-20 | 2019-11-15 | Oppo广东移动通信有限公司 | 内存压缩方法、装置、终端及存储介质 |
Non-Patent Citations (3)
Title |
---|
"M2ram:云平台大页内存压缩系统";梁平;《中国优秀硕士学位论文全文数据库 信息科技辑》;20171115(第11期);第I139-25页 * |
"Memory deduplication:An Effective Approach to Improve the Memory System";YuHui Deng;《Journal of Information Science and Engineering》;20170531;第33卷(第5期);第1103-1120页 * |
"垃圾内存回收算法";施懿民;《https://zhuanlan.zhihu.com/p/20712073》;20160406;第1-10页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110895492A (zh) | 2020-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110895492B (zh) | 设备控制方法、装置、存储介质及电子设备 | |
CN110888746B (zh) | 内存管理方法、装置、存储介质及电子设备 | |
US20220221998A1 (en) | Memory management method, electronic device and non-transitory computer-readable medium | |
CN111158910B (zh) | 内存管理方法、装置、存储介质及电子设备 | |
CN105335099A (zh) | 一种内存清理方法及终端 | |
CN109669877B (zh) | 内存管理方法、装置、终端及存储介质 | |
US11360884B2 (en) | Reserved memory in memory management system | |
CN111475299B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN107368367B (zh) | 资源分配的处理方法、装置及电子设备 | |
CN111078587B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN107408073B (zh) | 使用存储器压缩来减少存储器提交开销 | |
CN115509953A (zh) | 内存回收方法及其装置 | |
CN114168490A (zh) | 确定内存回收阈值的方法及相关设备 | |
CN115357389A (zh) | 内存管理方法、装置及电子设备 | |
KR20210049602A (ko) | 컴퓨팅 장치 및 그 동작 방법 | |
CN114218126A (zh) | 内存回收方法和装置 | |
CN111831436B (zh) | Io请求的调度方法、装置、存储介质及电子设备 | |
CN111444117B (zh) | 存储空间碎片化实现方法、装置、存储介质及电子设备 | |
CN112269535A (zh) | 存储系统的空间资源分配方法、装置及可读存储介质 | |
CN109144708B (zh) | 电子计算装置及调整一内存回收函数的触发机制的方法 | |
CN111078405B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
US20200081741A1 (en) | Information processing apparatus and memory management method | |
CN112162780B (zh) | 应用运行控制方法、装置及电子设备 | |
CN113806238A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
KR20220051546A (ko) | 전자장치 및 그 제어방법 |
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 |