CN113419864B - 一种应用内存管理方法、装置、设备以及存储介质 - Google Patents

一种应用内存管理方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN113419864B
CN113419864B CN202110804158.4A CN202110804158A CN113419864B CN 113419864 B CN113419864 B CN 113419864B CN 202110804158 A CN202110804158 A CN 202110804158A CN 113419864 B CN113419864 B CN 113419864B
Authority
CN
China
Prior art keywords
interface
memory
cleaning
address
target
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
Application number
CN202110804158.4A
Other languages
English (en)
Other versions
CN113419864A (zh
Inventor
朴英敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
Original Assignee
Douyin Vision Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd filed Critical Douyin Vision Co Ltd
Priority to CN202110804158.4A priority Critical patent/CN113419864B/zh
Publication of CN113419864A publication Critical patent/CN113419864A/zh
Application granted granted Critical
Publication of CN113419864B publication Critical patent/CN113419864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)

Abstract

本公开提供了一种应用内存管理方法、装置、设备以及存储介质,该方法包括:在目标应用运行过程中,可以通过拦截用于清理内存垃圾的内存清理指令以进行指令接管,对接口列表中记载的待调用内存清理接口的第一接口地址进行修改,以替换成预先写好的目标内存清理接口的第二接口地址,在满足目标内存清理接口对应的内存清理条件时,才会通过第二接口地址调用的目标内存清理接口进行内存垃圾清理。这样,通过接管内存清理指令,以及修改内存清理接口,实现内存垃圾清理的拦截,从而可以抑制垃圾回收,有效减少目标应用在运行时因垃圾回收导致的资源占用和消耗,避免当前运行线程的暂停,有助于提高目标应用的运行效率,保证目标应用的流畅度。

Description

一种应用内存管理方法、装置、设备以及存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种应用内存管理方法、装置、设备以及存储介质。
背景技术
随着互联网的发展,智能手机已经逐渐成为人们必不可少的生活用品,尤其是通过智能手机中安装的应用程序APP的使用,给人们的生活更带来了很多的便利。其中,大多数的应用程序是由Java语言编写的,大多数的应用程序基于Java虚拟机来运行,而Java虚拟机的内存管理是基于垃圾回收机制实现的。垃圾回收其实就是空闲内存释放过程。
大多数的垃圾回收机制,一般是在APP运行过程中,如果进程中的内存到达一定阈值时,会触发垃圾回收,进行空闲内存的释放,以实现垃圾清理。但是,在垃圾回收被触发时,会暂停进程进行扫描,这样就会给影响应用程序的性能,延缓应用程序的运行,至出现卡顿等现象。
发明内容
本公开实施例至少提供一种应用内存管理方法、装置、设备以及存储介质。
本公开实施例提供了一种应用内存管理方法,所述方法包括:
在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令;
基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表;
根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址;
基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述基于所述内存清理指令指示的待调用内存清理接口,确定记载有所述待调用内存清理接口的第一接口地址的接口列表,包括:
根据所述内存清理指令指示的待调用内存清理接口,确定记载有所述待调用内存清理接口的第一接口地址的接口列表,以及所述接口列表的列表名称;
基于所述列表名称,确定出所述接口列表的地址;
根据所述接口列表的地址,获取所述接口列表。
一种可选的实施方式中,在所述根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址之前,所述方法包括:
遍历所述接口列表,从所述接口列表中查找出所述第一接口地址,并确定所述第一接口地址在所述接口列表中的记载位置。
一种可选的实施方式中,所述根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址,包括:
获取预先写好所述目标内存清理接口的第二接口地址;
将所述接口列表的读写属性修改为可读写状态;
根据所述第一接口地址在所述接口列表中的记载位置,将读写状态修改后的所述接口列表中的所述第一接口地址修改为所述第二接口地址;
将地址修改后的所述接口列表的读写属性修改为仅读状态。
一种可选的实施方式中,所述基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存,包括:
在通过所述第二接口地址获取到所述目标内存清理接口的同时,开始计时;
基于所述目标应用的运行信息,确定针对内存清理的延时时长;
在计时时长到达所述延时时长时,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存,包括:
在通过所述第二接口地址获取到所述目标内存清理接口的情况下,确定所述目标应用中当前运行的至少一个线程;
在所述至少一个线程被执行完毕后,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述通过所述目标内存清理接口清理所述目标内存,包括:
通过所述目标内存清理接口,调用所述待调用内存清理接口;
使用所述待调用内存清理接口,清理所述目标内存。
本公开实施例还提供一种应用内存管理装置,所述装置包括:
指令接管模块,用于在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令;
列表获取模块,用于基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表;
地址修改模块,用于根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址;
内存清理模块,用于基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述列表获取模块具体用于:
根据所述内存清理指令指示的待调用内存清理接口,确定记载有所述待调用内存清理接口的第一接口地址的接口列表,以及所述接口列表的列表名称;
基于所述列表名称,确定出所述接口列表的地址;
根据所述接口列表的地址,获取所述接口列表。
一种可选的实施方式中,所述装置还包括位置确定模块,所述位置确定模块用于:
遍历所述接口列表,从所述接口列表中查找出所述第一接口地址,并确定所述第一接口地址在所述接口列表中的记载位置。
一种可选的实施方式中,所述地址修改模块具体用于:
获取预先写好所述目标内存清理接口的第二接口地址;
将所述接口列表的读写属性修改为可读写状态;
根据所述第一接口地址在所述接口列表中的记载位置,将读写状态修改后的所述接口列表中的所述第一接口地址修改为所述第二接口地址;
将地址修改后的所述接口列表的读写属性修改为仅读状态。
一种可选的实施方式中,所述内存清理模块具体用于:
在通过所述第二接口地址获取到所述目标内存清理接口的同时,开始计时;
基于所述目标应用的运行信息,确定针对内存清理的延时时长;
在计时时长到达所述延时时长时,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述内存清理模块具体用于:
在通过所述第二接口地址获取到所述目标内存清理接口的情况下,确定所述目标应用中当前运行的至少一个线程;
在所述至少一个线程被执行完毕后,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述内存清理模块在用于通过所述目标内存清理接口清理所述目标内存时,具体用于:
通过所述目标内存清理接口,调用所述待调用内存清理接口;
使用所述待调用内存清理接口,清理所述目标内存。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述应用内存管理方法中的步骤。
本公开实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述应用内存管理方法中的步骤。
本公开实施例提供的应用内存管理的方法、装置、设备及存储介质,在目标应用运行过程中,可以通过拦截用于清理内存垃圾的内存清理指令以进行指令接管,对接口列表中记载的待调用内存清理接口的第一接口地址进行修改,以替换成预先写好的目标内存清理接口的第二接口地址,在满足目标内存清理接口对应的内存清理条件时,才会通过第二接口地址调用的目标内存清理接口进行内存垃圾清理。
这样,通过接管内存清理指令,以及修改内存清理接口,实现内存垃圾清理的拦截,从而可以抑制垃圾回收,有效减少目标应用在运行时因垃圾回收导致的资源占用和消耗,避免当前运行线程的暂停,有助于提高目标应用的运行效率,保证目标应用的流畅度。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种应用内存管理方法的流程图;
图2示出了本公开实施例所提供的垃圾回收处理示意图;
图3示出了本公开实施例所提供的另一种应用内存管理方法的流程图;
图4示出了本公开实施例所提供的一种应用内存管理装置的示意图之一;
图5示出了本公开实施例所提供的一种应用内存管理装置的示意图之二;
图6示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,大多数的垃圾回收机制,一般是在APP运行过程中,如果进程中的内存到达一定阈值时,会触发垃圾回收,进行空闲内存的释放,以实现垃圾清理。但是,在垃圾回收被触发时,会暂停进程进行扫描,这样就会给影响应用程序的性能,延缓应用程序的运行,至出现卡顿等现象。基于上述研究,本公开提供了一种应用内存管理方法,通过在目标应用运行过程中,可以通过拦截用于清理内存垃圾的内存清理指令以进行指令接管,对接口列表中记载的待调用内存清理接口的第一接口地址进行修改,以替换成预先写好的目标内存清理接口的第二接口地址,在满足目标内存清理接口对应的内存清理条件时,才会通过第二接口地址调用的目标内存清理接口进行内存垃圾清理。
这样,通过接管内存清理指令,以及修改内存清理接口,实现内存垃圾清理的拦截,从而可以抑制垃圾回收,有效减少目标应用在运行时因垃圾回收导致的资源占用和消耗,避免当前运行线程的暂停,有助于提高目标应用的运行效率,保证目标应用的流畅度。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种应用内存管理方法进行详细介绍,本公开实施例所提供的应用内存管理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该应用内存管理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
请参见图1,图1为本公开实施例提供的应用内存管理方法的流程图。本公开实施例提供的应用内存管理方法,如图1中所示,所述方法包括:
S101:在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令。
对于核心逻辑是Java语言编写的应用程序,例如使用安卓系统的安卓平台上安装的应用程序,其运行时大多是通过创建Java虚拟机,在Java虚拟机中运行相应的应用程序,对于Java虚拟机而言,其内存管理是基于垃圾回收(Garbage Collection)实现的,即对空闲内存进行释放的过程。
垃圾回收一般包括同步垃圾回收和异步垃圾回收两种。同步垃圾回收,是指当申请内存的接口无法申请到更多内存时,会主动进行垃圾回收来释放空闲内存,然后再继续尝试申请内存。异步垃圾回收,是指当应用程序中运行的进程中的内存到达一定阈值时,会触发异步垃圾回收机制,异步唤醒内存回收线程,进行垃圾回收。
请同时参阅图2,图2为垃圾回收处理示意图。如图2中所示,对于安卓平台而言,一般会有一个线程专门处理垃圾回收的请求,线程会设置一个任务队列,在需要进行垃圾回收时,会生成相应的用于进行垃圾回收的任务指令,添加在任务队列中。上述专门的线程可以对任务队列进行实时检测,如果任务队列为空的话,可以继续等待,如果任务队列不为空的话,可以取出任务队列中的任务指令,从而通过任务指令指示需要调用的接口,调用接口对应的函数代码,以运行回调函数进行内存释放,实现垃圾回收。
相应的,在该步骤中,在目标应用的运行过程中,可以针对上述的任务队列进行检测,如果任务队列中存在针对目标应用的任务指令,想要对所述目标引用进行垃圾回收,并且任务指令被上述的专门的线程调用执行的情况下,可以认为检测到清理所述目标应用中内存垃圾的内存清理指令,因此,可以通过拦截所述内存清理指令,以接管所述内存清理指令。
优选的,接管的所述内存清理指令,主要是指上述的进行异步垃圾回收的任务指令。
其中,所述内存清理指令,可以指所述内存清理指令指示的待调用内存清理接口的地址未被修改之前的任意一次内存清理,例如目标应用启动后,第一次进行内存清理的内存清理指令。
其中,内存垃圾包括未被及时释放的已使用内存、已被释放的空闲内存和内存碎片。已被释放的空闲内存指已被所述目标应用中的线程释放,但由于读写属性仍为不可读写状态导致的不可用的空闲内存空间。内存碎片指不连续的且内存空间不足以供给一个完整的任务进行使用分配的空闲内存空间。
示例性的,当终端的某应用程序正在运行,应用程序的运行内存到达阈值时,触发异步垃圾回收机制,在异步垃圾回收机制在调用指令进行垃圾清理之前,接管用于内存清理的内存清理指令。
S102:基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表。
该步骤中,在接管所述内存清理指令后,可以对所述内存清理指令进行解析等处理,解析出所述内存清理指令指示的所要调用的待调用内存清理接口,从而可以通过查询等方式,获取记载有所述待调用内存清理接口的第一接口地址的接口列表。
其中,待调用内存清理接口,可以与源代码中的回调函数的代码相对应,可以通过接口调用回调函数的代码,以运行回调函数进行内存清理。
其中,所述接口列表是根据与所述待调用内存清理接口有对应关系的任务所属的类生成的,且一个类对应一个接口列表。
示例性的,在具体实现方式中,从代码层面上,任务列表中的任务指令都继承自共同的基类,例如在安卓系统中的HeapTask类,HeapTask类有有一个虚函数Run作为任务的回调函数,每种类型的任务,都会定义一个自己的Run,因此,在终端的某应用程序触发内存垃圾清理时,可以通过劫持其对应的Run,通过Run解析的方式,获取记载有其地址的虚函数表。
S103:根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址。
该步骤中,在所述接口列表中找到所述第一接口地址的记载位置后,可以根据所述记载位置,将所述接口列表中记载的所述第一接口地址进行替换,从而修改为自定义的第二接口地址,其中,第二接口地址为预先写好的目标内存清理接口的地址。
其中,所述接口列表可以为一个数组,所述记载位置为在所述接口列表中存储所述第一接口地址的数组项。
其中,所述目标内存清理接口可以指自定义的回调函数,用来抑制内存清理指令的调用。
示例性的,在获取到记载有其地址的虚函数表后,可以从虚函数表中确定Run的地址在虚函数表中的具体位置,从而将具体位置上的Run的地址修改为自定义虚函数的地址。
S104:基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存。
该步骤中,在修改为所述第二接口地址后,可以使用所述第二接口地址来调用所述目标内存清理接口,并且在满足所述目标内存清理接口对应的内存清理条件之后,进行所述目标内存的清理。
示例性的,在将虚函数表中Run的地址修改为自定义虚函数的地址后,通过修改后的地址即可以获取自定义虚函数,通过调用自定义虚函数,在自定义虚函数中可以根据目标应用的情况,选择相应的方式,以进行内存清理。
其中,对于所述目标内存清理接口对应的回调函数的代码,在运行时可以按照预先设定的方式进行回调函数的执行,例如可以先控制回调函数进行睡眠,在睡眠结束自动唤醒后再执行,也可以是控制回调函数进行等待,等待被唤醒后在执行,还可以是控制回调函数不执行,直接返回。
在一种具体的实施方式中,所述基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存,包括:
在通过所述第二接口地址获取到所述目标内存清理接口的同时,开始计时;
基于所述目标应用的运行信息,确定针对内存清理的延时时长;
在计时时长到达所述延时时长时,通过所述目标内存清理接口清理所述目标内存。
该步骤中,在根据所述第二接口地址获取到所述目标内存清理接口的同时,可以通过设置一个计时器等方式开始进行计时,并根据所述目标应用的运行信息,来预设针对内存清理的延时时长,当所述计时时长等于所述延时时长时,可以控制所述目标内存清理接口清理所述目标内存。
其中,所述目标应用的运行信息可以指当前需要运行的线程数、当前内存的消耗量、当前资源的剩余量等。
在另一种具体的实施方式中,所述基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存,包括:
在通过所述第二接口地址获取到所述目标内存清理接口的情况下,确定所述目标应用中当前运行的至少一个线程;
在所述至少一个线程被执行完毕后,通过所述目标内存清理接口清理所述目标内存。
该步骤中,获取与所述第二接口地址对应的所述目标内存清理接口,并确定在获取所述目标内存清理接口时,所述目标应用中当前运行的至少一个线程,在所述至少一个线程被执行完毕后,可以通过所述目标内存清理接口清理所述目标内存。
本公开实施例提供的应用内存管理方法,在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令;基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表;根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址;基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存。
这样,通过接管内存清理指令,以及修改内存清理接口,实现内存垃圾清理的拦截,从而可以抑制垃圾回收,有效减少目标应用在运行时因垃圾回收导致的资源占用和消耗,避免当前运行线程的暂停,有助于提高目标应用的运行效率,保证目标应用的流畅度。
请参见图3,图3为本公开实施例提供的另一种应用内存管理方法的流程图。本公开实施例提供的另一种应用内存管理方法,如图3中所示,所述方法包括:
S201:在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令。
S202:基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表。
S203:遍历所述接口列表,从所述接口列表中查找出所述第一接口地址,并确定所述第一接口地址在所述接口列表中的记载位置。
该步骤中,可以利用相应的遍历算法遍历所述接口列表,以在所述接口列表中查找出所述第一接口地址,并且可以进一步确定所述第一接口地址在所述接口列表中的记载位置。
示例性的,在获取到目标应用对应的虚函数表后,可以遍历虚函数表中的内容,以确定Run的地址在虚函数表中的位置。其中,任务列表中除了可以缓存线程可以处理的一步垃圾回收的任务之外,还可以缓存其他任务,每个任务的回调函数都不一样,从而代表着不同的任务,因此,虚函数表中记载有不同回调函数的地址,需要从中遍历出所需函数的地址。
S204:根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址。
S205:基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存。
其中,步骤S201至步骤S202、S204至步骤S205的描述,可以参照步骤S101至步骤S104的描述,并且可以达到相同的技术效果和解决相同的技术问题,在此不做赘述。
接下来,结合具体实施方式进一步对本实施例进行说明。
一种可选的实施方式中,所述基于所述内存清理指令指示的待调用内存清理接口,确定记载有所述待调用内存清理接口的第一接口地址的接口列表,包括:
根据所述内存清理指令指示的待调用内存清理接口,确定记载有所述待调用内存清理接口的第一接口地址的接口列表,以及所述接口列表的列表名称;
基于所述列表名称,确定出所述接口列表的地址;
根据所述接口列表的地址,获取所述接口列表。
该步骤中,从所述内存清理指令中,可以获取到需要调用的待调用内存清理接口,通过预先设置的存储信息等内容,可以确定确定记载有所述待调用内存清理接口的第一接口地址的接口列表,从而查询到所述接口列表的列表名称,进而根据所述列表名称,可以确定所述接口列表的地址,如所述接口列表被存放的位置,通过确定的地址即可获取所述接口列表。
一种可选的实施方式中,所述根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址,包括:
获取预先写好所述目标内存清理接口的第二接口地址;
将所述接口列表的读写属性修改为可读写状态;
根据所述第一接口地址在所述接口列表中的记载位置,将读写状态修改后的所述接口列表中的所述第一接口地址修改为所述第二接口地址;
将地址修改后的所述接口列表的读写属性修改为仅读状态。
该步骤中,获取预先写好所述目标内存清理接口的第二接口地址,在进行修改之前将所述接口列表中的读写属性改为可读可写状态,通过遍历找到所述第一接口地址在所述接口列表中的记载位置,将所述第一接口地址修改为所述第二接口地址,并将修改后的所述接口列表的读写属性修改为仅读状态。
示例性的,在对存储Run地址的虚函数表进行修改时,需要先将虚函数表的读写权限改为可读可写,同时获取自定义虚函数的地址,找到在虚函数表中虚函数Run地址的具体存储位置,在函数表中找到的具体存储位置上将虚函数Run地址改为自定义虚函数的地址,在修改完成后,将虚函数表的读写权限改为仅可读。
一种可选的实施方式中,所述通过所述目标内存清理接口清理所述目标内存,包括:
通过所述目标内存清理接口,调用所述待调用内存清理接口;
使用所述待调用内存清理接口,清理所述目标内存。
该步骤中,可以通过调用所述目标内存清理接口,来进一步调用所述待调用内存清理接口,并通过使用所述待调用内存清理接口,清理所述目标内存。
在应用程序进行垃圾回收时,通过调用修改后的自定义回调函数来抑制回调函数的调用,当自定义回调函数中的设定条件已被满足,则通过自定义回调函数调用回调函数的,以完成垃圾回收,即内存清理。
本公开实施例提供的应用内存管理方法,在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令;基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表;遍历所述接口列表,从所述接口列表中查找出所述第一接口地址,并确定所述第一接口地址在所述接口列表中的记载位置;根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址;基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存。
这样,通过接管内存清理指令,遍历接口列表中待调用内存清理接口的地址,以修改内存清理接口,实现内存垃圾清理的拦截,从而可以抑制垃圾回收,有效减少目标应用在运行时因垃圾回收导致的资源占用和消耗,避免当前运行线程的暂停,有助于提高目标应用的运行效率,保证目标应用的流畅度。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与应用内存管理方法对应的应用内存管理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述应用内存管理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图4至图5,图4为本公开实施例提供的一种应用内存管理装置的示意图之一,图5为本公开实施例提供的一种应用内存管理装置的示意图之二。如图4中所示,本公开实施例提供的应用内存管理装置400,包括:
指令接管模块410,用于在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令;
列表获取模块420,用于基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表;
地址修改模块430,用于根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址;
内存清理模块440,用于基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述列表获取模块420具体用于:
根据所述内存清理指令指示的待调用内存清理接口,确定记载有所述待调用内存清理接口的第一接口地址的接口列表,以及所述接口列表的列表名称;
基于所述列表名称,确定出所述接口列表的地址;
根据所述接口列表的地址,获取所述接口列表。
一种可选的实施方式中,所述装置还包括位置确定模块450,所述位置确定模块450用于:
遍历所述接口列表,从所述接口列表中查找出所述第一接口地址,并确定所述第一接口地址在所述接口列表中的记载位置。
一种可选的实施方式中,所述地址修改模块430具体用于:
获取预先写好所述目标内存清理接口的第二接口地址;
将所述接口列表的读写属性修改为可读写状态;
根据所述第一接口地址在所述接口列表中的记载位置,将读写状态修改后的所述接口列表中的所述第一接口地址修改为所述第二接口地址;
将地址修改后的所述接口列表的读写属性修改为仅读状态。
一种可选的实施方式中,所述内存清理模块440具体用于:
在通过所述第二接口地址获取到所述目标内存清理接口的同时,开始计时;
基于所述目标应用的运行信息,确定针对内存清理的延时时长;
在计时时长到达所述延时时长时,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述内存清理模块440还具体用于:
在通过所述第二接口地址获取到所述目标内存清理接口的情况下,确定所述目标应用中当前运行的至少一个线程;
在所述至少一个线程被执行完毕后,通过所述目标内存清理接口清理所述目标内存。
一种可选的实施方式中,所述内存清理模块440在用于所述通过所述目标内存清理接口清理所述目标内存时,具体用于:
通过调用所述目标内存清理接口,调用所述待调用内存清理接口;
使用所述待调用内存清理接口,清理所述目标内存。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例提供的应用内存管理装置,通过在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令;基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表;根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址;基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存。
这样,通过接管内存清理指令,以及修改内存清理接口,实现内存垃圾清理的拦截,从而可以抑制垃圾回收,有效减少目标应用在运行时因垃圾回收导致的资源占用和消耗,避免当前运行线程的暂停,有助于提高目标应用的运行效率,保证目标应用的流畅度。
基于同一技术构思,本申请实施例还提供了一种电子设备。本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:
处理器610、存储器620、和总线630;存储器620用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器610中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器610通过内存621与外部存储器622进行数据交换,当所述电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,使得所述处理器610可以执行上述方法实施例中所示的应用内存管理方法的步骤。
本公开实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的应用内存管理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的应用内存管理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、设备和存储介质的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的方法、装置、设备和存储介质,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (9)

1.一种应用内存管理方法,其特征在于,所述方法包括:
在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令;
基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表;
根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址;
基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存;
其中,所述根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址,包括:
获取预先写好所述目标内存清理接口的第二接口地址;
将所述接口列表的读写属性修改为可读写状态;
根据所述第一接口地址在所述接口列表中的记载位置,将读写状态修改后的所述接口列表中的所述第一接口地址修改为所述第二接口地址;
将地址修改后的所述接口列表的读写属性修改为仅读状态。
2.根据权利要求1所述的方法,其特征在于,所述基于所述内存清理指令指示的待调用内存清理接口,确定记载有所述待调用内存清理接口的第一接口地址的接口列表,包括:
根据所述内存清理指令指示的待调用内存清理接口,确定记载有所述待调用内存清理接口的第一接口地址的接口列表,以及所述接口列表的列表名称;
基于所述列表名称,确定出所述接口列表的地址;
根据所述接口列表的地址,获取所述接口列表。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址之前,所述方法包括:
遍历所述接口列表,从所述接口列表中查找出所述第一接口地址,并确定所述第一接口地址在所述接口列表中的记载位置。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存,包括:
在通过所述第二接口地址获取到所述目标内存清理接口的同时,开始计时;
基于所述目标应用的运行信息,确定针对内存清理的延时时长;
在计时时长到达所述延时时长时,通过所述目标内存清理接口清理所述目标内存。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存,包括:
在通过所述第二接口地址获取到所述目标内存清理接口的情况下,确定所述目标应用中当前运行的至少一个线程;
在所述至少一个线程被执行完毕后,通过所述目标内存清理接口清理所述目标内存。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述通过所述目标内存清理接口清理所述目标内存,包括:
通过所述目标内存清理接口,调用所述待调用内存清理接口;
使用所述待调用内存清理接口,清理所述目标内存。
7.一种应用内存管理装置,其特征在于,所述装置包括:
指令接管模块,用于在目标应用的运行过程中,若检测到用于清理所述目标应用中内存垃圾的内存清理指令,接管所述内存清理指令;
列表获取模块,用于基于所述内存清理指令指示的待调用内存清理接口,获取记载有所述待调用内存清理接口的第一接口地址的接口列表;
地址修改模块,用于根据所述第一接口地址在所述接口列表中的记载位置,将所述接口列表中记载的所述第一接口地址修改为预先写好的目标内存清理接口的第二接口地址;
内存清理模块,用于基于所述第二接口地址,调用所述目标内存清理接口,在满足所述目标内存清理接口对应的内存清理条件时,通过所述目标内存清理接口清理所述目标内存;
其中,所述地址修改模块具体用于:
获取预先写好所述目标内存清理接口的第二接口地址;
将所述接口列表的读写属性修改为可读写状态;
根据所述第一接口地址在所述接口列表中的记载位置,将读写状态修改后的所述接口列表中的所述第一接口地址修改为所述第二接口地址;
将地址修改后的所述接口列表的读写属性修改为仅读状态。
8.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一项所述的应用内存管理方法的步骤。
9.一种计算机存储介质,其特征在于,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一项所述的应用内存管理方法的步骤。
CN202110804158.4A 2021-07-16 2021-07-16 一种应用内存管理方法、装置、设备以及存储介质 Active CN113419864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110804158.4A CN113419864B (zh) 2021-07-16 2021-07-16 一种应用内存管理方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110804158.4A CN113419864B (zh) 2021-07-16 2021-07-16 一种应用内存管理方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN113419864A CN113419864A (zh) 2021-09-21
CN113419864B true CN113419864B (zh) 2023-04-07

Family

ID=77721046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110804158.4A Active CN113419864B (zh) 2021-07-16 2021-07-16 一种应用内存管理方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113419864B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857555A (zh) * 2019-01-15 2019-06-07 Oppo广东移动通信有限公司 内存回收方法及装置、存储介质和电子设备
CN112433809A (zh) * 2020-11-05 2021-03-02 北京浪潮数据技术有限公司 一种jvm内存管理方法、装置、设备及可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9906629D0 (en) * 1999-03-23 1999-05-19 Koninkl Philips Electronics Nv Memory reclamation method
JP2007257259A (ja) * 2006-03-23 2007-10-04 Nec Corp 情報処理装置、記憶領域クリーンアップ方法およびプログラム
JP2015519646A (ja) * 2012-04-30 2015-07-09 ワラテック リミテッド マルチテナント型アプリケーション・ドメイン及びメモリの管理を伴う修正されたjvm
CN103543955A (zh) * 2013-08-05 2014-01-29 记忆科技(深圳)有限公司 利用固态硬盘作为设备读缓存的方法、系统及固态硬盘
CN112764891B (zh) * 2019-10-21 2022-11-11 青岛海信移动通信技术股份有限公司 电子终端及控制应用的方法
CN111045779B (zh) * 2019-11-01 2024-03-01 福建天泉教育科技有限公司 系统内存回收配置方法、存储介质
CN111258921B (zh) * 2020-01-14 2024-01-26 Oppo广东移动通信有限公司 垃圾内存回收方法及装置、电子设备、存储介质
CN111796941A (zh) * 2020-07-06 2020-10-20 北京字节跳动网络技术有限公司 内存管理方法、装置、计算机设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857555A (zh) * 2019-01-15 2019-06-07 Oppo广东移动通信有限公司 内存回收方法及装置、存储介质和电子设备
CN112433809A (zh) * 2020-11-05 2021-03-02 北京浪潮数据技术有限公司 一种jvm内存管理方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN113419864A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
US10990540B2 (en) Memory management method and apparatus
CA2610180C (en) Managing memory pages
TW201303717A (zh) 用於新應用程式之記憶體管理模型與介面
CN102063338A (zh) 一种请求独占资源的方法及装置
CN111324427A (zh) 一种基于dsp的任务调度方法及装置
US20240061712A1 (en) Method, apparatus, and system for creating training task on ai training platform, and medium
Courville et al. Understanding storage I/O behaviors of mobile applications
CN105677481B (zh) 一种数据处理方法、系统及电子设备
US9734204B2 (en) Managed runtime cache analysis
CN113515346A (zh) 一种存储卷残留数据清理方法及装置
CN113419864B (zh) 一种应用内存管理方法、装置、设备以及存储介质
CN112612537A (zh) 配置数据缓存方法、装置、设备及存储介质
CN109426563B (zh) 一种进程管理方法及装置
CN113485846A (zh) 一种内存处理方法及装置
CN113342270A (zh) 卷卸载方法、装置和电子设备
CN111090627A (zh) 基于池化的日志存储方法、装置、计算机设备及存储介质
CN113590536B (zh) 一种数据存储方法、系统、电子设备及存储介质
US9857864B1 (en) Systems and methods for reducing power consumption in a memory architecture
CN112131009A (zh) 一种内存调度方法、装置及计算机可读存储介质
CN108604192B (zh) 用于执行等待事件要被记录时的一个或多个任务的系统、方法及介质
CN116431336A (zh) 一种页缓存限制方法、系统、电子设备及存储介质
KR20010038482A (ko) 운영체제의 커널 스택 동적 할당 방법
CN114416372A (zh) 一种请求处理方法及装置
CN113778626A (zh) 虚拟网卡的热插拔处理方法、装置、存储介质及处理器
CN114265555A (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
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant