CN116089319A - 内存处理方法及相关装置 - Google Patents
内存处理方法及相关装置 Download PDFInfo
- Publication number
- CN116089319A CN116089319A CN202211048893.8A CN202211048893A CN116089319A CN 116089319 A CN116089319 A CN 116089319A CN 202211048893 A CN202211048893 A CN 202211048893A CN 116089319 A CN116089319 A CN 116089319A
- Authority
- CN
- China
- Prior art keywords
- preset
- occupied space
- memory
- preset threshold
- rate
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 112
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004064 recycling Methods 0.000 claims description 3
- 239000002699 waste material Substances 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 abstract description 4
- 238000004817 gas chromatography Methods 0.000 description 79
- 230000006870 function Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种内存处理方法及相关装置,可以降低加载插件与垃圾回收GC同时出现的概率,从而可以缓解用户在切换或打开应用界面时,出现的应用界面卡顿的现象,提升用户体验。该方法包括:接收用户的第一操作,该第一操作用于打开应用界面或切换应用界面;确定自第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值;在被占用空间的增长率大于预设阈值时,暂不对被占用空间进行GC,直至达到预设条件,恢复对被占用空间进行GC;其中,预设条件包括:被占用空间大于或等于预设水线;或被占用空间的增长率小于或等于预设阈值;或自被占用空间的增长率大于预设阈值开始计时,累计时长达到预设时长。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种内存处理方法及相关装置。
背景技术
随着电子设备的发展,电子设备上安装的应用程序也越来越多样化。当用户打开电子设备上的某些应用程序,尤其是视频类应用程序时,短时间内堆内存(heap)会快速增长,于是触发用于进行垃圾回收(garbage collection,GC)的线程,例如,HeapTaskDaemon线程,频繁地进行GC,以降低内存的占用。然而,应用程序在启动或是切换页面的过程中,需要加载若干插件,当加载插件和GC同时进行时,则停止加载插件,直到本次GC结束后,才会继续加载插件。但由于加载插件的操作是在主线程中进行的,因此,当停止加载插件时,则会造成主线程的卡顿,即应用的显示界面出现卡顿,用户的体验不佳。
因此,如何降低加载插件与GC同时出现的概率,成为一项亟待解决的技术问题。
发明内容
本申请提供一种内存处理方法及相关装置,可以降低加载插件与GC同时出现的概率,从而缓解用户在切换或打开应用界面时,出现的应用界面卡顿的现象,提升用户的体验。
第一方面,提供了一种内存处理方法。该方法可应用于电子设备,例如,可以由电子设备执行,或者,也可以由配置在电子设备中的部件(如芯片、芯片系统等)执行,或者,还可以由能够实现全部或部分电子设备功能的逻辑模块或软件实现,本申请对此不作限定。
示例性地,该方法包括:接收用户的第一操作,所述第一操作用于打开应用界面或切换应用界面;确定自所述第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值;在所述被占用空间的增长率大于所述预设阈值时,暂不对所述被占用空间进行垃圾回收GC,直至达到预设条件,恢复对所述被占用空间进行GC;其中,所述预设条件包括:所述被占用空间大于或等于预设水线;或所述被占用空间的增长率小于或等于所述预设阈值;或自所述被占用空间的增长率大于所述预设阈值开始计时,累计时长达到预设时长。
基于此,电子设备在接收到用户对应用界面的第一操作时,通过在预设时段内比较堆内存中被占用空间的增长率与预设阈值的大小,从而可以在被占用空间的增长率大于预设阈值时,暂缓进行GC,直到达到预设条件后,才恢复GC。由于电子设备在切换或打开应用界面时,堆内存中被占用的内存增长较快,此时暂不对被占用空间进行GC,故可以有效地降低GC和加载插件同时出现的概率,进而缓解用户在切换或打开应用界面时,出现的应用界面卡顿的现象,提升用户体验。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:在所述被占用空间的增长率大于所述预设阈值时,将所述预设水线从第一预设值调整至第二预设值,所述第二预设值大于所述第一预设值;以及所述被占用空间大于或等于预设水线,包括:所述被占用空间大于或等于所述第二预设值。
电子设备通过提高预设水线的预设值,可以在被占用空间的增长率较大时,推迟对堆内存中被占用空间进行GC的时间,有效地降低加载插件和GC同时出现的概率。可以理解,将预设水线提高,可以视为暂不对被占用空间进行GC的一种可能的实现方式。
结合第一方面,在第一方面的某些实现方式中,在所述恢复对所述被占用空间进行GC之后,所述方法还包括:将所述预设水线从所述第二预设值调整至所述第一预设值。
电子设备在恢复对被占用内存进行GC后,同时将预设水线调整至第一预设值,这样可以继续基于第一预设值对被占用内存进行GC。该方法可以有效地避免因预设水线过高,导致长时间不进行GC,而造成的被占用内存超过堆内存的问题。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:基于预设的检测时间间隔,检测所述被占用空间的大小;基于每相邻两次检测到的所述被占用空间的大小,计算对应于每个检测时间间隔的所述被占用空间的增长率。
结合第一方面,在第一方面的某些实现方式中,所述确定自所述第一操作之后的第一预设时段内堆内存中被占用空间的增长率是否大于预设阈值,包括:在对应于连续多个检测时间间隔的所述被占用空间的增长率大于所述预设阈值的情况下,确定自所述第一操作之后的第一预设时段内所述被占用空间的增长率大于预设阈值。
电子设备通过比较连续多个检测时间间隔对应的增长率与预设阈值的大小,可以提高判断的准确率。
结合第一方面,在第一方面的某些实现方式中,在所述确定自所述第一操作之后的第一预设时段内堆内存中被占用空间的增长率是否大于预设阈值之前,所述方法还包括:确定所述用户对所述应用界面的第一操作在预设名单中,所述预设名单包括应用名、界面名、以及操作类型。
第二方面,提供了一种内存处理装置,该装置包括:接收模块,用于接收用户的第一操作,所述第一操作用于打开应用界面或切换应用界面;处理模块,用于确定自所述第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值;以及,在所述被占用空间的增长率大于所述预设阈值时,暂不对所述被占用空间进行垃圾回收GC,直至达到预设条件,恢复对所述被占用空间进行GC;其中,所述预设条件包括:所述被占用空间大于或等于预设水线;或所述被占用空间的增长率小于或等于所述预设阈值;或自所述被占用空间的增长率大于所述预设阈值开始计时,累计时长达到预设时长。
结合第二方面,在第二方面的某些实现方式中,处理模块还用于:在所述被占用空间的增长率大于所述预设阈值时,将所述预设水线从第一预设值调整至第二预设值,所述第二预设值大于所述第一预设值;以及,所述被占用空间大于或等于所述第二预设值。
结合第二方面,在第二方面的某些实现方式中,处理模块还用于:将所述预设水线从所述第二预设值调整至所述第一预设值。
结合第二方面,在第二方面的某些实现方式中,处理模块还用于:基于预设的检测时间间隔,检测所述被占用空间的大小;基于每相邻两次检测到的所述被占用空间的大小,计算对应于每个检测时间间隔的所述被占用空间的增长率。
结合第二方面,在第二方面的某些实现方式中,处理模块还用于:在对应于连续多个检测时间间隔的所述被占用空间的增长率大于所述预设阈值的情况下,确定自所述第一操作之后的预设时段内所述被占用空间的增长率大于预设阈值。
结合第二方面,在第二方面的某些实现方式中,处理模块还用于:确定所述用户对所述应用界面的第一操作在预设名单中,所述预设名单包括应用名、界面名、以及操作类型。
第三方面,提供了一种电子设备,包括:处理器和存储器,处理器与存储器耦合,该存储器用于存储指令,当该指令被处理器执行时,使得电子设备执行上述第一方面中任一种可能的实现方式中的方法。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不做限定。
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
图1是本申请实施例提供的一种电子设备的结构示意图;
图2是本申请实施例提供的内存处理方法的示意性流程图;
图3是本申请另一实施例提供的内存处理方法的示意性流程图;
图4是本申请再一实施例提供的内存处理方法的示意性流程图;
图5是本申请实施例提供的一种堆内存中被占用空间大小的示意图;
图6是本申请实施例提供的一种内存处理装置的示意性框图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面将结合附图,对本申请中的技术方案进行描述。
图1是本申请实施例提供的一种电子设备100的结构示意图。如图1所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,以及应用处理器等实现音频功能。例如音乐播放,录音等。例如,本申请中的语音通话可以通过扬声器170A进行播放。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlightemitting diodes,QLED),低温多晶氧化物(low temperature polycrystallineoxide,LTPO)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及内存处理。
本申请实施例的电子设备可以是具有无线连接功能的手持式设备、车载设备等,该电子设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobilestation,MS)、移动终端(mobile terminal,MT)等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、智能电视、笔记本电脑、平板电脑(Pad)、掌上电脑、移动互联网设备(mobile internet device,MID)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wirelesslocal loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobilenetwork,PLMN)中的终端设备等,本申请的实施例对电子设备所采用的具体技术和具体设备形态不作限定。
作为示例而非限定,在本申请实施例中,该电子设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
应理解,本申请实施例中,电子设备可以是用于实现电子设备功能的装置,也可以是能够支持电子设备实现该功能的装置,例如芯片系统,该装置可以被安装在终端中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
目前,用户在电子设备上打开某些应用或是切换应用界面时,短时间内堆内存会快速增长,从而触发HeapTaskDaemon线程比较频繁地进行GC。但是应用启动或是切换应用界面时,通常需要加载若干插件。在同时出现插件加载和GC的操作时,加载插件的操作则会停止,直到GC结束后,才会继续进行插件的加载。由于插件的加载是在主线程中进行的,因此,在加载插件和GC同时出现时,会导致主线程的卡顿,进而影响应用界面的卡顿,降低用户使用应用程序的体验。
有鉴于此,本申请实施例提供了一种内存处理方法及相关装置,可以在接收到用户打开或切换应用界面的操作时,进一步确定堆内存中被占用空间的增长率与预设阈值的关系,使得可以在被占用空间的增长率大于预设阈值时,暂不进行GC,有效地降低了GC和加载插件同时出现的概率,进而缓解了用户在切换或打开应用界面时,出现的应用界面卡顿的现象,提升了用户体验。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面的实施例可以相互结合或独立实施,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2是本申请实施例提供的内存处理方法200的示意性流程图。应理解,该方法200可以由电子设备执行,也可以由支持该电子设备实现该方法的芯片、芯片系统、或处理器执行,还可以由能实现全部或部分电子设备功能的逻辑模块或软件执行。如图2所示,该方法200可以包括S201至S210,下面对图2所示的各步骤进行详细说明。
S201,接收用户的第一操作,该第一操作用于打开应用界面或切换应用界面。
其中,上述应用界面可以是安装在电子设备上的任一应用程序的用户界面。
S202,判断第一操作是否在预设名单中。
若第一操作不在预设名单中,则执行S210。
若第一操作在预设名单中,则执行S203至S210。
其中,预设名单包括:应用名称,应用界面名称以及操作类型。操作类型可以包括启动应用、或切换应用界面。
应理解,S202可以是个可选的步骤。在不执行S202时,电子设备在接收到用户的第一操作后,调用HeapTaskDaemon线程上新增的功能接口DelayGC,并执行如下所示的S203至S210。
S203,以接收到用户的第一操作为起点,第一时长为时长,启动第一定时器。
其中,第一时长为第一定时器的超时时间,该第一时长是由开发人员预先配置在电子设备上的。示例性地,该第一时长可以是开发人员基于切换应用界面或启动应用界面时的所需要的时间预先配置的。
S204,基于检测时间间隔,在第一时长内检测被占用空间的大小。
其中,检测时间间隔是由开发人员预先配置在电子设备上的。应理解,上述检测时间间隔可以是相同的,也可以是不同的,例如,电子设备每隔0.05ms检测一次堆内存,并记录本次检测到的堆内存中被占用空间的大小;或者,第一次检测堆内存和第二次检测堆内存的时间间隔为0.01ms,第二次检测堆内存和第三次检测堆内存的时间间隔为0.02ms等。
S205,计算堆内存中被占用空间的增长率。
应理解,电子设备可以基于每相邻两次检测到的被占用空间的大小,计算对应于每个检测时间间隔的被占用空间的增长率。
示例性地,相邻两次检测到的被占用空间的大小分别为f1和f2,以及相邻两次检测的时间检测为T,则被占用空间的增长率k=(f2-f1)/T。
S206,在预设时段内被占用空间的增长率超过预设阈值时,暂不对被占用空间进行GC。
其中,预设时段为以接收到用户的第一操作为起点,第一时长为时长的时段。
上述预设阈值是由开发人员预先配置在电子设备上的。示例性地,该预设阈值可以是开发人员基于多次测试,确定的一个经验值。应理解,该预设阈值与堆内存中被占用空间增长率相关。
应理解,在对应于连续多个检测时间间隔的被占用空间的增长率大于预设阈值的情况下,确定自第一操作之后的预设时段内被占用空间的增长率大于预设阈值。
示例性地,电子设备可以基于3个被占用空间的增长率,确定被占用空间的增长率是否超过预设阈值。例如,假设检测时间间隔相同,预设阈值为K,相邻三次检测到的堆内存中被占用空间的大小分别为:f1,f2,f3,检测周期为T,则确定的堆内存中被占用空间的增长率为:k1=(f2-f1)/T,k2=(f3-f2)/T。在(K<k1)且(K<k2)时,确定堆内存中被占用空间的增长率超过预设阈值。
电子设备若在预设时段内检测到堆内存中被占用空间的增长率超过预设阈值,则可暂不对被占用空间进行GC,并可继续执行S207至S210;电子设备若在预设时段内未检测到堆内存中被占用空间的增长率超过预设阈值,则可按照已有技术来处理,跳过S207至S209,直接执行S210。
S207,将GC水线(预设水线)由第一预设值调整至第二预设值。
应理解,被占用空间在增长的过程中,若堆内存中被占用空间的大小超过预设值,则进行GC;反之,则不进行GC。上述第一预设值和第二预设值可以是电子设备通过水线调整函数GrowForUtilization()确定的。其中,第二预设值是有开发人员预先设置的,且第二预设值大于第一预设值。
S208,判断被占用空间的大小是否超过第二预设值。
若被占用空间的大小未超过第二预设值时,则不对被占用的内存进行GC。
若被占用空间的大小超过第二预设值时,则执行S209和S210。
S209,进行GC(恢复对被占用内存进行GC),将GC水线由第二预设值调整至第一预设值。
可选地,若在第一时长内,恢复GC水线,则停止计算被占用空间的增长率。
S210,正常运行。
本申请实施例中的正常运行可以理解为:不再计算堆内存中被占用空间的增长率,而是通过检测的堆内存中被占用空间的大小和预设的堆内存的大小(第一预设值),进行GC。
基于上述技术方案,电子设备在接收到用户对应用界面的第一操作时,可以在堆内存中被占用空间的增长率大于预设阈值时,通过调高GC水线,以使得对被占用空间的GC暂缓执行,而在被占用空间的大小到达调整后的GC水线后,才进行GC。这样,电子设备在切换或打开应用界面时,可以有效地降低GC和加载插件同时出现的概率,进而缓解应用界面在切换或启动的过程中出现界面卡顿的现象,提升用户体验。
图3是本申请另一实施例提供的内存处理方法300的示意性流程图。应理解,该方法300可以由电子设备执行,也可以由支持该电子设备实现该方法的芯片、芯片系统、或处理器执行,还可以由能实现全部或部分电子设备功能的逻辑模块或软件执行。如图3所示,该方法300可以包括S301至S210,下面对图3所示的各步骤进行详细说明。
S301,接收用户的第一操作,该第一操作用于打开应用界面或切换应用界面。
S302,判断第一操作是否在预设名单中。
S303,以接收到用户的第一操作为起点,第一时长为时长,启动第一定时器。
S304,基于检测时间间隔,在第一时长内检测被占用空间的大小。
S305,计算堆内存中被占用空间的增长率。
S306,在预设时段内被占用空间的增长率是否超过预设阈值时,暂不对被占用空间进行GC。
上述S301至S306与S201至S206过程相同,具体可参照上述相关描述,此处不再赘述。
电子设备若在第一时长内检测到堆内存中被占用空间的增长率超过预设阈值,则可暂不对被占用空间进行GC,并可继续执行S307至S309;电子设备若在第一时长内未检测到堆内存中被占用空间的增长率超过预设阈值,则可按照已有技术来处理,跳过S307至S308,直接执行S309。
S307,以检测到被占用空间的增长率大于预设阈值为起点,第二时长(预设时长)为时长,开启第二定时器。
其中,第二时长为第二定时器的超时时间,该第二时长是由开发人员预先配置在电子设备上的。示例性地,该第二时长可以是开发人员基于切换应用界面或启动应用界面时的所需要的时间预先配置的。
S308,在第二定时器结束后,进行GC(恢复对被占用空间进行GC)。
应理解,在第二定时器结束前,不对被占用空间进行GC。
可选地,在开启第二定时器后,检测到被占用空间的增长率小于或等于预设阈值的情况下,进行GC。
S309,正常运行。该过程可参照上述S209的相关描述,此处不再赘述。
基于上述方案,电子设备在接收到用户对应用界面的第一操作时,可以在堆内存中被占用空间的增长率大于预设阈值时,启动第二定时器,在第二时长内暂不对被占用空间进行GC。这样,电子设备在切换或打开应用界面时,可以有效地降低GC和加载插件同时出现的概率,进而缓解应用界面在切换或启动的过程中出现界面卡顿的现象,提升了用户的体验。
在一种可能的实现方式中,在上述S206或S306之后,可以在开启第二定时器的同时,调整GC水线。示例性地,在调整GC水线和开启第二定时器同时存在时,电子设备在满足其中的至少一个条件时,即可恢复对被占用空间进行GC,并正常运行。其中,满足的条件可以是:检测到被占用空间的大小超过第二预设值;或,直到第二定时器结束;或,在第二时长内,检测到被占用空间的增长率小于预设阈值。需要说明的是,若在第二定时器结束前未进行GC,则在第二定时器结束后,进行GC,并调整GC水线至第一预设值。
在另一种可能的实现方式中,在上述S206或S306之后,可以继续检测被占用内存的增长率,直到检测到被占用内存的增长率小于或等于预设阈值时,进行GC,并正常运行。
图4是本申请再一实施例提供的内存处理方法400的示意性流程图。应理解,该方法400可以由电子设备执行,也可以由支持该电子设备实现该方法的芯片、芯片系统、或处理器执行,还可以由能实现全部或部分电子设备功能的逻辑模块或软件执行。如图4所示,该方法400可以包括S401至S403,下面详细说明图4所示的各步骤。
S401,接收用户的第一操作,该第一操作用于打开应用界面或切换应用界面。
该过程可参照上述S201的相关描述,此处不再赘述。
S402,确定自第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值。
S403,在被占用空间的增长率大于预设阈值时,暂不对被占用空间进行GC,直至达到预设条件,恢复对被占用空间进行GC。
其中,预设条件包括:被占用空间大于或等于预设水线;或被占用空间的增长率小于或等于预设阈值;或自被占用空间的增长率大于预设阈值开始计时,累计时长达到预设时长。
其中,预设时长可以为前文方法300中的第二时长。
可选地,在自第一操作之后的预设时段内未检测到被占用空间的增长率大于预设阈值,则基于现有GC方式,确定是否进行GC。具体可参照现有技术的相关描述,此处不再赘述。
本申请实施例中,暂不对被占用空间进行GC可以理解为:在未对被占用空间进行GC的情况下,不启动对被占用空间的GC,或在对被占用空间进行GC的情况下,暂停对被占用空间进行GC。示例性地,在检测到被占用空间的增长率大于预设阈值之前,正在进行GC,则在检测到被占用空间的增长率大于预设阈值及之后,暂停对被占用空间进行GC;在检测到被占用空间的增长率大于预设阈值之前,未进行GC,则在检测到被占用空间的增长率大于预设阈值及之后,不再开始对被占用空间进行GC。
本申请实施例中,电子设备在接收到用户对应用界面的第一操作时,进一步在预设时段内确定堆内存中被占用空间的增长率,并在被占用空间的增长率大于预设阈值时,暂缓进行GC,直到满足预设条件后,才恢复对被占用空间进行GC。这样,电子设备在切换或打开应用界面时,可以有效地降低GC和加载插件同时出现的概率,进而缓解应用界面在切换或启动的过程中出现界面卡顿的现象,提升了用户的体验。
示例性地,该方法400还包括:在检测到被占用空间的增长率大于预设阈值时,电子设备启动计时时长为预设时长的第二定时器,在第二定时器结束之前,暂不对被占用空间进行GC;直到第二定时器结束,恢复对被占用空间进行GC。
作为一个可选的实施例,该方法400还包括:在被占用空间的增长率大于预设阈值时,将预设水线从第一预设值调整至第二预设值,第二预设值大于第一预设值;以及被占用空间大于或等于预设水线,包括:被占用空间大于或等于第二预设值。
应理解,在被占用空间高于第二预设值的情况下,对被占用空间进行GC;或在被占用空间不高于第二预设值的情况下,暂不对被占用空间进行GC。
作为一个可选的实施例,在恢复对被占用空间进行GC之后,该方法400还包括:将预设水线从第二预设值调整至第一预设值。
作为一个可选的实施例,在确定自第一操作之后的第一预设时段内堆内存中被占用空间的增长率是否大于预设阈值之前,该方法400还包括:基于预设的检测时间间隔,检测被占用空间的大小;基于每相邻两次检测到的被占用空间的大小,计算对应于每个检测时间间隔的被占用空间的增长率。
图5是本申请实施例提供的一种堆内存中被占用空间大小的示意图。如图5所示,横坐标表示检测的次数,纵坐标表示堆内存中被占用空间的大小。预设的检测时间间隔为T。示例性地,图5所示的五个堆内存中被占用空间的大小采用上述增长率的计算方法,可以得到4个堆内存中被占用空间的增长率。例如,k1=(f2-f1)/T,k2=(f3-f2)/T,k3=(f4-f3)/T,k4=(f5-f4)/T。
作为一个可选的实施例,确定自第一操作之后的第一预设时段内堆内存中被占用空间的增长率是否大于预设阈值,包括:在对应于连续多个检测时间间隔的被占用空间的增长率大于预设阈值的情况下,确定自第一操作之后的预设时段内被占用空间的增长率大于预设阈值。
结合上述图5所示的例子,基于本申请提供的增长率与预设阈值的判定方式,在预设阈值为K时,则至少需要连续的两个堆内存中被占用空间的增长率均大于预设阈值时,才可以确定堆内存中被占用空间的增长率均大于预设阈值。例如,k1>K,且k2>K时,确定堆内存中被占用空间的增长率大于预设阈值。
作为一个可选的实施例,在确定自第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值之前,该方法400还包括:确定用户对应用界面的第一操作在预设名单中。
其中,预设名单包括应用名、界面名、以及操作类型。
可选地,上述确定自第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值,包括:确定自确定用户对应用界面的第一操作在预设名单中之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图2至图5,详细描述了本申请实施例提供的方法,下面将结合图6,详细描述本申请实施例提供的装置。
图6是本申请实施例提供的一种内存处理装置600的示意性框图。如图6所示,该装置600包括:接收模块610和处理模块620。装置600可以用于实现前述任意方法实施例中的方法。
作为一个示例,接收模块610可以用于执行方法400中的S401,处理模块620可以用于执行方法400中的S402和S403。
应理解,这里的装置600以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选的例子中,本领域技术人员可以理解,装置600可以具体为上述方法实施例中的电子设备,或者,上述方法实施例中电子设备的功能可以集成在装置600中,装置600可以用于执行上述方法实施例中与电子设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述装置600具有实现上述方法实施例中电子设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序用于实现上述方法实施例中耳机执行的方法或电子设备执行的方法。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序(也可以称为代码,或指令),当该计算机程序在计算机上运行时,该计算机可以执行上述方法实施例中耳机执行的方法或电子设备执行的方法。
本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种内存处理方法,其特征在于,应用于电子设备,所述方法包括:
接收用户的第一操作,所述第一操作用于打开应用界面或切换应用界面;
确定自所述第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值;
在所述被占用空间的增长率大于所述预设阈值时,暂不对所述被占用空间进行垃圾回收GC,直至达到预设条件,恢复对所述被占用空间进行GC;
其中,所述预设条件包括:
所述被占用空间大于或等于预设水线;或
所述被占用空间的增长率小于或等于所述预设阈值;或
自所述被占用空间的增长率大于所述预设阈值开始计时,累计时长达到预设时长。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述被占用空间的增长率大于所述预设阈值时,将所述预设水线从第一预设值调整至第二预设值,所述第二预设值大于所述第一预设值;以及
所述被占用空间大于或等于预设水线,包括:所述被占用空间大于或等于所述第二预设值。
3.根据权利要求2所述的方法,其特征在于,在所述恢复对所述被占用空间进行GC之后,所述方法还包括:
将所述预设水线从所述第二预设值调整至所述第一预设值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
基于预设的检测时间间隔,检测所述被占用空间的大小;
基于每相邻两次检测到的所述被占用空间的大小,计算对应于每个检测时间间隔的所述被占用空间的增长率。
5.根据权利要求4所述的方法,其特征在于,所述确定自所述第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值,包括:
在对应于连续多个检测时间间隔的所述被占用空间的增长率大于所述预设阈值的情况下,确定自所述第一操作之后的预设时段内所述被占用空间的增长率大于预设阈值。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在确定自所述第一操作之后的预设时段内堆内存中被占用空间的增长率是否大于预设阈值之前,所述方法还包括:
确定所述用户对所述应用界面的第一操作在预设名单中,所述预设名单包括应用名、界面名、以及操作类型。
7.一种内存处理装置,其特征在于,包括:用于实现如权利要求1至6中任一项所述的方法的模块。
8.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211048893.8A CN116089319B (zh) | 2022-08-30 | 2022-08-30 | 内存处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211048893.8A CN116089319B (zh) | 2022-08-30 | 2022-08-30 | 内存处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116089319A true CN116089319A (zh) | 2023-05-09 |
CN116089319B CN116089319B (zh) | 2023-10-31 |
Family
ID=86199745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211048893.8A Active CN116089319B (zh) | 2022-08-30 | 2022-08-30 | 内存处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089319B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239184A (zh) * | 2014-09-22 | 2014-12-24 | 北京金山安全软件有限公司 | 终端异常应用程序的识别方法、装置和移动终端 |
CN106649130A (zh) * | 2016-12-28 | 2017-05-10 | 乐蜜科技有限公司 | 内存空间回收方法、装置和电子设备 |
CN107066316A (zh) * | 2017-04-25 | 2017-08-18 | 华中科技大学 | 分布式数据处理系统中缓解内存压力的调度方法和系统 |
CN107220076A (zh) * | 2016-09-27 | 2017-09-29 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN108228449A (zh) * | 2017-08-15 | 2018-06-29 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、终端设备及计算机可读存储介质 |
CN108628678A (zh) * | 2017-03-21 | 2018-10-09 | 中国移动通信集团河北有限公司 | 内存参数的确定方法、装置及设备 |
US20190042406A1 (en) * | 2017-08-01 | 2019-02-07 | International Business Machines Corporation | System and method to manage and share managed runtime memory for java virtual machine |
CN109992393A (zh) * | 2017-12-29 | 2019-07-09 | 广东欧珀移动通信有限公司 | 应用处理方法和装置、电子设备、计算机可读存储介质 |
CN110083450A (zh) * | 2019-04-09 | 2019-08-02 | Oppo广东移动通信有限公司 | 内存回收方法、装置、电子设备及存储介质 |
CN110297691A (zh) * | 2019-07-03 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种优化Android系统ART虚拟机内存管理的方法 |
CN110888746A (zh) * | 2019-12-10 | 2020-03-17 | Oppo(重庆)智能科技有限公司 | 内存管理方法、装置、存储介质及电子设备 |
CN111949564A (zh) * | 2020-08-13 | 2020-11-17 | 青岛海信传媒网络技术有限公司 | 一种内存交换方法及显示设备 |
CN112579259A (zh) * | 2020-12-14 | 2021-03-30 | 中国科学院软件研究所 | 一种面向大数据处理框架的gc自适应调节方法及装置 |
CN113342604A (zh) * | 2021-06-07 | 2021-09-03 | 平安证券股份有限公司 | 内存使用率的检测方法、装置、终端及存储介质 |
CN113722087A (zh) * | 2021-06-10 | 2021-11-30 | 荣耀终端有限公司 | 虚拟内存管理方法和电子设备 |
CN114168490A (zh) * | 2020-09-10 | 2022-03-11 | 华为技术有限公司 | 确定内存回收阈值的方法及相关设备 |
US20220113902A1 (en) * | 2020-10-13 | 2022-04-14 | EMC IP Holding Company LLC | Intelligent scheduling for garbage collection |
CN114816760A (zh) * | 2022-05-13 | 2022-07-29 | 兰考堌阳医院有限公司 | 一种交互式护理看板系统及存储介质 |
-
2022
- 2022-08-30 CN CN202211048893.8A patent/CN116089319B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239184A (zh) * | 2014-09-22 | 2014-12-24 | 北京金山安全软件有限公司 | 终端异常应用程序的识别方法、装置和移动终端 |
CN107220076A (zh) * | 2016-09-27 | 2017-09-29 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN109213539A (zh) * | 2016-09-27 | 2019-01-15 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN106649130A (zh) * | 2016-12-28 | 2017-05-10 | 乐蜜科技有限公司 | 内存空间回收方法、装置和电子设备 |
CN108628678A (zh) * | 2017-03-21 | 2018-10-09 | 中国移动通信集团河北有限公司 | 内存参数的确定方法、装置及设备 |
CN107066316A (zh) * | 2017-04-25 | 2017-08-18 | 华中科技大学 | 分布式数据处理系统中缓解内存压力的调度方法和系统 |
US20190042406A1 (en) * | 2017-08-01 | 2019-02-07 | International Business Machines Corporation | System and method to manage and share managed runtime memory for java virtual machine |
CN108228449A (zh) * | 2017-08-15 | 2018-06-29 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、终端设备及计算机可读存储介质 |
CN109992393A (zh) * | 2017-12-29 | 2019-07-09 | 广东欧珀移动通信有限公司 | 应用处理方法和装置、电子设备、计算机可读存储介质 |
CN110083450A (zh) * | 2019-04-09 | 2019-08-02 | Oppo广东移动通信有限公司 | 内存回收方法、装置、电子设备及存储介质 |
CN110297691A (zh) * | 2019-07-03 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种优化Android系统ART虚拟机内存管理的方法 |
CN110888746A (zh) * | 2019-12-10 | 2020-03-17 | Oppo(重庆)智能科技有限公司 | 内存管理方法、装置、存储介质及电子设备 |
CN111949564A (zh) * | 2020-08-13 | 2020-11-17 | 青岛海信传媒网络技术有限公司 | 一种内存交换方法及显示设备 |
CN114168490A (zh) * | 2020-09-10 | 2022-03-11 | 华为技术有限公司 | 确定内存回收阈值的方法及相关设备 |
US20220113902A1 (en) * | 2020-10-13 | 2022-04-14 | EMC IP Holding Company LLC | Intelligent scheduling for garbage collection |
CN112579259A (zh) * | 2020-12-14 | 2021-03-30 | 中国科学院软件研究所 | 一种面向大数据处理框架的gc自适应调节方法及装置 |
CN113342604A (zh) * | 2021-06-07 | 2021-09-03 | 平安证券股份有限公司 | 内存使用率的检测方法、装置、终端及存储介质 |
CN113722087A (zh) * | 2021-06-10 | 2021-11-30 | 荣耀终端有限公司 | 虚拟内存管理方法和电子设备 |
CN114816760A (zh) * | 2022-05-13 | 2022-07-29 | 兰考堌阳医院有限公司 | 一种交互式护理看板系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
张加帅;: "ART虚拟机GC系统优化研究", 电子技术与软件工程, no. 23, pages 167 - 169 * |
罗永刚;陈兴蜀;王煜骢;: "基于垃圾回收的MapReduce作业内存调优", 四川大学学报(工程科学版), no. 06, pages 104 - 112 * |
Also Published As
Publication number | Publication date |
---|---|
CN116089319B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020156269A1 (zh) | 一种具有柔性屏幕的电子设备的显示方法及电子设备 | |
EP4027628A1 (en) | Control method for electronic device, and electronic device | |
CN113448482A (zh) | 触控屏的滑动响应控制方法及装置、电子设备 | |
CN114221402A (zh) | 终端设备的充电方法、装置和终端设备 | |
CN111381996B (zh) | 内存异常处理方法及装置 | |
CN116089319B (zh) | 内存处理方法及相关装置 | |
CN112639675A (zh) | 一种对内部存储器动态调频的方法及电子设备 | |
US11467894B2 (en) | Screen freezing processing method and terminal | |
WO2024032124A1 (zh) | 卷轴屏开合方法及相关产品 | |
CN110673694A (zh) | 一种应用打开方法和电子设备 | |
CN115543500B (zh) | 一种窗口的处理方法及电子设备 | |
CN114077519B (zh) | 一种系统服务恢复方法、装置和电子设备 | |
CN115878500A (zh) | 内存回收方法、装置、电子设备及可读存储介质 | |
CN113610943A (zh) | 图标圆角化的处理方法及装置 | |
CN111953452A (zh) | 检测ssb序号的方法及装置 | |
EP4296839A1 (en) | Screenshot method, electronic device, and storage medium | |
CN116048772B (zh) | 中央处理单元频率的调整方法、装置和终端设备 | |
CN116775345B (zh) | 一种数据传输方法及电子设备 | |
CN115904851B (zh) | 终端设备及外接设备接入检测系统 | |
CN116048769B (zh) | 内存回收方法、装置和终端设备 | |
EP4207782A1 (en) | Screen mirroring method and apparatus, device, and storage medium | |
EP4181343A1 (en) | Charging method and electronic device | |
CN117154900B (zh) | 充电控制方法及电子设备 | |
WO2023207715A1 (zh) | 亮屏控制方法、电子设备及计算机可读存储介质 | |
CN116723384B (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 |