[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109582442A - 内存溢出oom的处理方法、电子设备及计算机存储介质 - Google Patents

内存溢出oom的处理方法、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN109582442A
CN109582442A CN201811458279.2A CN201811458279A CN109582442A CN 109582442 A CN109582442 A CN 109582442A CN 201811458279 A CN201811458279 A CN 201811458279A CN 109582442 A CN109582442 A CN 109582442A
Authority
CN
China
Prior art keywords
memory
priority
oom
priority query
threshold 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.)
Pending
Application number
CN201811458279.2A
Other languages
English (en)
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.)
Beijing Microlive Vision Technology Co Ltd
Original Assignee
Beijing Microlive Vision Technology 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 Beijing Microlive Vision Technology Co Ltd filed Critical Beijing Microlive Vision Technology Co Ltd
Priority to CN201811458279.2A priority Critical patent/CN109582442A/zh
Publication of CN109582442A publication Critical patent/CN109582442A/zh
Pending legal-status Critical Current

Links

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及存储空间处理技术领域,公开了一种内存溢出OOM的处理方法、电子设备及计算机可读存储介质,其中,内存溢出OOM的处理方法包括:步骤a、检测预设的内存阈值原因是否满足OOM的处理条件;步骤b、如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;其中,内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。本申请实施例的方法,有效避免因为OOM对用户造成的卡顿、强制关闭等异常情况的发生。

Description

内存溢出OOM的处理方法、电子设备及计算机存储介质
技术领域
本申请涉及存储空间处理技术领域,具体而言,本申请涉及一种内存溢出OOM的处理方法、电子设备及计算机存储介质。
背景技术
OOM(Out Of Memory,内存溢出)指的是因为内存使用过多而导致的客户端(例如各种应用程序)闪退,这是一种操作系统管理内存的机制。
通常意义的智能终端(例如智能手机)的内在包括系统物理内存和进程可使用的内存,当系统物理内存不足时,操作系统会释放其他进程并释放内存。一般情况下,内存使用较大的进程或者占用物理内存较高的进程会被操作系统优先释放,进程可使用的内存主要由虚拟机管理,安卓系统的应用程序是运行在佳沃Java虚拟机上的,其内存分配在托管堆上,并通过虚拟机来管理。一般来说,虚拟机会合理的管理内存,但是当应用使用的内存比较高时,或者内存一直被引用时,虚拟机无法完成内存回收,因此会产生内存不足的情况,导致出现OOM异常,然而,目前还不存在对OOM进行有效处理的方法。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
第一方面,提供了一种内存溢出OOM的处理方法,包括:
步骤a、检测预设的内存阈值原因是否满足OOM的处理条件;
步骤b、如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;
内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。
具体地,依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,包括:
从第二优先级队列中获取优先级最低的第一进程,并执行:
步骤c、检测第一进程是否满足第一预设条件,第二优先级队列中的各个进程为第一优先级队列中优先级小于预设优先级阈值的进程,第一预设条件为足迹字节数小于或等于内存限制字节数;
如果满足第一预设条件,则继续从第二优先级队列中获取第一进程的下一个进程,并将该下一个进程作为第一进程,循环执行步骤c,直至检测完第二优先级队列中的全部进程;
如果不满足,则关闭第一进程,并循环执行步骤a和步骤b。
进一步地,依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,包括:
当检测完第二优先级队列中的全部进程后,从第二优先级队列中未获取到进程或者第二优先级队列中存在未被关闭的进程时,检测客户端中闲置空间的第三优先级队列中是否存在进程;
如果存在进程,则关闭第三优先级队列中优先级最低的进程,并循环执行步骤a和步骤b;
如果不存在进程,则获取客户端中后台运行的进程的数量,并根据后台运行的进程的数量对后台运行的进程进行相应处理。
进一步地,根据后台运行的进程的数量对后台运行的进程进行相应处理,包括:
步骤d、检测后台运行的进程的数量是否大于零;
步骤e、如果大于零,则关闭后台运行的进程中优先级最低的进程,并检测内存可用页数是否小于或等于内存可用页数阈值;
如果内存可用页数小于或等于内存可用页数阈值,则循环执行步骤d及步骤e,直至后台运行的进程的数量为零;
如果内存可用页数大于内存可用页数阈值,则循环执行步骤a和步骤b。
进一步地,还包括:
步骤f、如果后台运行的进程的数量为零,则从第四优先级队列中获取优先级最低的进程,第四优先级队列中的进程为第一优先级队列中优先级大于或等于预设优先级阈值的进程;
步骤g、检测从第四优先级队列中获取的优先级最低的进程是否为前台进程;
如果不是前台进程,则关闭该从第四优先级队列中获取的优先级最低的进程;
如果是前台进程,则循环执行步骤a和步骤b。
进一步地,第一优先级队列包括第二优先级队列、第三优先级队列及第四优先级队列。
第二方面,提供了一种内存溢出OOM的处理装置,包括:
检测模块,用于检测预设的内存阈值原因是否满足OOM的处理条件;
处理模块,用于当满足OOM的处理条件时,依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;
内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。
具体地,处理模块包括获取子模块、第一检测子模块与第一处理子模块;
获取子模块,用于从第二优先级队列中获取优先级最低的第一进程;
第一检测子模块,用于检测第一进程是否满足第一预设条件,第二优先级队列中的各个进程为第一优先级队列中优先级小于预设优先级阈值的进程,第一预设条件为足迹字节数小于或等于内存限制字节数;
第一处理子模块,用于当满足第一预设条件时,继续从第二优先级队列中获取第一进程的下一个进程,并将该下一个进程作为第一进程,循环执行第一检测子模块的动作,直至检测完第二优先级队列中的全部进程;以及用于当不满足时,关闭第一进程,并循环执行检测模块与处理模块的动作。
进一步地,处理模块包括第二检测子模块与第二处理子模块;
第二检测子模块,用于当检测完第二优先级队列中的全部进程后,从第二优先级队列中未获取到进程或者第二优先级队列中存在未被关闭的进程时,检测客户端中闲置空间的第三优先级队列中是否存在进程;
第二处理子模块,用于当存在进程时,关闭第三优先级队列中优先级最低的进程,并循环执行检测模块与处理模块的动作;以及当不存在进程时,获取客户端中后台运行的进程的数量,并根据后台运行的进程的数量对后台运行的进程进行相应处理。
进一步地,第二处理子模块包括数量检测单元与检测结果处理单元;
数量检测单元,用于检测后台运行的进程的数量是否大于零;
检测结果处理单元,用于当数量大于零时,关闭后台运行的进程中优先级最低的进程,并检测内存可用页数是否小于或等于内存可用页数阈值;以及用于当内存可用页数小于或等于内存可用页数阈值,则循环执行数量检测单元与检测结果处理单元的动作,直至后台运行的进程的数量为零;以及用于当内存可用页数大于内存可用页数阈值时,循环执行检测模块与处理模块的动作。
进一步地,检测结果处理单元还用于当后台运行的进程的数量为零时,从第四优先级队列中获取优先级最低的进程,第四优先级队列中的进程为第一优先级队列中优先级大于或等于预设优先级阈值的进程;以及检测从第四优先级队列中获取的优先级最低的进程是否为前台进程;以及当不是前台进程时,关闭该从第四优先级队列中获取的优先级最低的进程;以及当是前台进程时循环执行检测模块与处理模块的动作。
进一步地,第一优先级队列包括第二优先级队列、第三优先级队列及第四优先级队列。
第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的内存溢出OOM的处理方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的内存溢出OOM的处理方法。
本申请实施例提供的内存溢出OOM的处理方法,检测预设的内存阈值原因是否满足OOM的处理条件,为后续进行OOM的处理奠定必要基础;如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,其中,内存阈值原因满足OOM的处理条件包括虚拟内存空间小于预设虚拟内存空间阈值、内存断页中断抖动、内存交换空间小于预设内存交换空间阈值、内存可用页数小于或等于内存可用页数阈值中的任一项,从而能够在检测到满足OOM的处理的任一条件时,及时关闭当前运行的较低优先级的进程,从而腾出内存以供高优先级的进程使用,确保了高优先级的进程的响应速度,有效避免因为OOM对用户造成的卡顿、强制关闭等异常情况的发生。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例的内存溢出OOM的处理方法的流程示意图;
图2为本申请实施例的内存溢出OOM的处理过程示意图;
图3为本申请实施例的内存溢出OOM的处理装置的基本结构示意图;
图4为本申请实施例的内存溢出OOM的处理装置的详细结构示意图;
图5为本申请实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
本申请实施例提供了一种内存溢出OOM的处理方法,如图1所示,包括:
步骤S110,检测预设的内存阈值原因是否满足OOM的处理条件,其中,内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。
具体地,由于智能手机等移动终端的内存是有限的,不可能无限制的使用,当内存不够时,需要将低优先级的进程关闭,以腾出内存供高优先级的进程使用。
进一步地,在实际应用中可以通过预设一个内存溢出原因指示值,来检测当前是否触发了OOM,其中,可以通过检测,预设的内存溢出原因指示值是否满足OOM的处理条件,来检测当前是否触发了OOM,如果预设的内存溢出原因指示值符合虚拟内存空间小于预设虚拟内存空间阈值,或者内存断页中断抖动,或者内存交换空间小于预设内存交换空间阈值,或者内存可用页数小于或等于内存可用页数阈值,则确定当前是否触发了OOM,执行步骤S120。
步骤S120,如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理。
具体地,当预设的内存溢出原因指示值满足OOM的处理条件时,依据客户端中当前运行的各个进程从低到高的第一优先级队列,从低优先级的进程开始进行关闭处理,即当内存不够时,需要将低优先级的进程关闭,以腾出内存供高优先级的进程使用,从而确保高优先级的进程的响应速度,有效避免因为OOM对用户造成的卡顿、强制关闭等异常情况的发生,控制内存溢出的发生。
本申请实施例提供的内存溢出OOM的处理方法,与现有技术相比,检测预设的内存阈值原因是否满足OOM的处理条件,为后续进行OOM的处理奠定必要基础;如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,其中,内存阈值原因满足OOM的处理条件包括虚拟内存空间小于预设虚拟内存空间阈值、内存断页中断抖动、内存交换空间小于预设内存交换空间阈值、内存可用页数小于或等于内存可用页数阈值中的任一项,从而能够在检测到满足OOM的处理的任一条件时,及时关闭当前运行的较低优先级的进程,从而腾出内存以供高优先级的进程使用,确保了高优先级的进程的响应速度,有效避免因为OOM对用户造成的卡顿、强制关闭等异常情况的发生。
本申请实施例提供了另一种可能的实现方式,其中,
依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,包括:从第二优先级队列中获取优先级最低的第一进程,并执行步骤S130:检测第一进程是否满足第一预设条件,第二优先级队列中的各个进程为第一优先级队列中优先级小于预设优先级阈值的进程,第一预设条件为足迹字节数小于或等于内存限制字节数。
其中,如果第一进程满足第一预设条件,则继续从第二优先级队列中获取第一进程的下一个进程,并将该下一个进程作为第一进程,循环执行步骤S130,直至检测完第二优先级队列中的全部进程。
其中,如果第一进程不满足第一预设条件,则关闭第一进程,并循环执行步骤S110和步骤S120。
此外,依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,包括:
当检测完第二优先级队列中的全部进程后,从第二优先级队列中未获取到进程或者第二优先级队列中存在未被关闭的进程时,检测客户端中闲置空间的第三优先级队列中是否存在进程;
如果存在进程,则关闭第三优先级队列中优先级最低的进程,并循环执行步骤S110和步骤S120;
如果不存在进程,则获取客户端中后台运行的进程的数量,并根据后台运行的进程的数量对后台运行的进程进行相应处理。
具体地,将客户端中当前运行的各个进程从低到高的优先级队列记作第一优先级队列,假如客户端中当前运行的各个进程从低到高的第一优先级队列为:进程A、进程B、进程C、进程D、进程E、进程F、进程G及进程H,且进程A的优先级为1、进程B的优先级为2、进程C的优先级为3、进程D的优先级为4、进程E的优先级为5、进程F的优先级为6、进程G的优先级为7及进程H的优先级为8,又假如预设优先级阈值为5,则第二优先级队列中的各个进程为第一优先级队列中优先级小于预设优先级阈值(5)的进程,即第二优先级队列中的各个进程分别为进程A、进程B、进程C及进程D。
进一步地,从第二优先级队列中获取优先级最低的第一进程,例如进程A,接着检测该第一进程是否满足第一预设条件,其中,第一预设条件为足迹字节数小于或等于内存限制字节数,即检测该第一进程的足迹字节数是否小于或等于内存限制字节数,如果第一进程的足迹字节数小于或等于内存限制字节数,则确定第一进程满足第一预设条件,此时继续从第二优先级队列中获取第一进程的下一个进程(例如进程B),并将该下一个进程作为第一进程,接着检测该第一进程(即进程B)是否满足第一预设条件,即循环执行该步骤S130,如果满足第一预设条件,此时继续从第二优先级队列中获取第一进程的下一个进程(例如进程C),并将该下一个进程作为第一进程,接着检测该第一进程(即进程C)是否满足第一预设条件,依此循环,直至检测完第二优先级队列中的全部进程。
进一步地,如果第一进程的足迹字节数大于内存限制字节数,则确定第一进程不满足第一预设条件,此时关闭该第一进程,并循环执行步骤a和步骤b,即关闭该第一进程后,再次检测预设的内存溢出原因指示值是否满足OOM的处理条件,如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,从而及时关闭当前运行的较低优先级的进程,腾出内存以供高优先级的进程使用。
进一步地,当检测完第二优先级队列中的全部进程后,即检测完进程A、进程B、进程C及进程D后,若从第二优先级队列中未获取到进程(即第二优先级队列中的全部进程均被关闭掉)或者第二优先级队列中存在未被关闭的进程(即第二优先级队列中存在满足第一预设条件而未被关闭的进程)时,检测客户端中闲置空间的第三优先级队列中是否存在进程,如果第三优先级队列中存在进程,假如存在进程H与进程I,且进程H的优先级为3,进程I的优先级为5,即进程H的优先级低于进程I的优先级,则关闭该第三优先级队列中优先级最低的进程(即进程H),并循环执行步骤S110与步骤S120,即在关闭第三优先级队列中优先级最低的进程后,再次检测预设的内存溢出原因指示值是否满足OOM的处理条件,如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,从而及时关闭闲置空间中的进程,腾出内存以供高优先级的进程使用。
进一步地,如果第三优先级队列中不存在进程,即第三优先级队列中的所有进程均被通过上述过程关闭掉了,则获取客户端中后台运行的进程的数量,并根据后台运行的进程的数量对后台运行的进程进行相应处理,即先对第三优先级队列中的进程进行处理,在处理完成第三优先队列中的进程后,再根据后台运行的进程的数量,对后台运行的进程进行相应处理。
本申请实施例提供了另一种可能的实现方式,其中,
在步骤S130之后还包括步骤S140(图中未标注)与步骤S150(图中未标注),其中,
步骤S140:检测后台运行的进程的数量是否大于零。
步骤S150:如果大于零,则关闭后台运行的进程中优先级最低的进程,并检测内存可用页数是否小于或等于内存可用页数阈值。
具体地,在根据后台运行的进程的数量对后台运行的进程进行相应处理的过程中,首先检测后台运行的进程的数量是否大于零,如果后台有进程在运行,假如进程J与进程K在后台运行,且进程J的优先级为3,进程K的优先级为4,即进程J的优先级低于进程K的优先级,则后台运行的进程的数量大于零,此时关闭后台运行的进程中优先级最低的进程(即进程J),并检测内存可用页数是否小于或等于内存可用页数阈值,即在关闭后台运行的进程中优先级最低的进程后,接着检测内存可用页数是否小于或等于内存可用页数阈值。
进一步地,如果内存可用页数小于或等于内存可用页数阈值,则循环执行步骤S140与步骤S150,直至后台运行的进程的数量为零,即如果在关闭后台运行的进程中优先级最低的进程后,内存可用页数依然小于或等于内存可用页数阈值,则循环执行步骤S140与步骤S150,直至后台运行的所有进程均被通过上述步骤S140与步骤S150关闭掉,从而及时腾出内存,以避免对用户造成使用上的卡顿、强制关闭等异常情况的发生。
进一步地,如果内存可用页数大于内存可用页数阈值,则循环执行步骤S110和步骤S120,即如果在关闭后台运行的进程中优先级最低的进程后,内存可用页数大于内存可用页数阈值,则再次检测预设的内存溢出原因指示值是否满足OOM的处理条件,如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理。
本申请实施例提供了另一种可能的实现方式,其中,
在步骤S140之后还包括步骤S160(图中未标注)与步骤S170(图中未标注),其中,
步骤S160:如果后台运行的进程的数量为零,则从第四优先级队列中获取优先级最低的进程,第四优先级队列中的进程为第一优先级队列中优先级大于或等于预设优先级阈值的进程;
步骤S170:检测从第四优先级队列中获取的优先级最低的进程是否为前台进程;如果不是前台进程,则关闭该从第四优先级队列中获取的优先级最低的进程;如果是前台进程,则循环执行步骤S110和步骤S120。
具体地,当后台运行的进程的数量为零时,即后台运行的所有进程均被通过上述步骤S140与步骤S150关闭掉了,则从第四优先级队列中获取优先级最低的进程,该第四优先级队列中的进程为第一优先级队列中优先级大于或等于预设优先级阈值的进程,假如客户端中当前运行的各个进程从低到高的第一优先级队列为:进程A、进程B、进程C、进程D、进程E、进程F、进程G及进程H,且进程A的优先级为1、进程B的优先级为2、进程C的优先级为3、进程D的优先级为4、进程E的优先级为5、进程F的优先级为6、进程G的优先级为7及进程H的优先级为8,又假如预设优先级阈值为5,则第四优先级队列中的各个进程为第一优先级队列中优先级大于或等于预设优先级阈值(5)的进程,即第四优先级队列中的各个进程分别为进程E、进程F、进程G及进程H,其中,第四优先级队列中优先级最低的进程为进程E。
进一步地,在获取到第四优先级队列中优先级最低的进程(即进程E)之后,检测该优先级最低的进程是否为前台进程,如果该优先级最低的进程为前台进程,则不关闭该前台进程,并循环执行步骤S110和步骤S120,即当第四优先级队列中优先级最低的进程为前台进程时,再次检测预设的内存溢出原因指示值是否满足OOM的处理条件,如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,从而避免将用户当前正在使用的前台进程关闭掉,防止给用户造成使用上的不便。
进一步地,如果该优先级最低的进程不是前台进程,则关闭该从第四优先级队列中获取的优先级最低的进程,即关闭进程E,即关闭第四优先级队列中优先级最低的非前台进程。
需要说明的是,上述的第二优先级队列、第三优先级队列及第四优先级队列,均属于客户端中当前运行的各个进程从低到高的第一优先级队列,即第一优先级队列包括第二优先级队列、第三优先级队列及第四优先级队列。
进一步地,图2给出本申请实施例的上述内存溢出OOM的处理过程的示意图。
对于本申请实施例,能够及时关闭当前运行的较低优先级的进程,从而腾出内存以供高优先级的进程使用,确保了高优先级的进程的响应速度,有效避免因为OOM对用户造成的卡顿、强制关闭等异常情况的发生,有效控制内存溢出的发生。
实施例二
图3为本申请实施例提供的一种内存溢出OOM的处理装置的基本结构示意图,如图3所示,该装置30可以包括检测模块31与处理模块32,其中,
检测模块31用于检测预设的内存阈值原因是否满足OOM的处理条件;
处理模块32用于当满足OOM的处理条件时,依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;
内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。
具体地,图4为本申请实施例提供的一种内存溢出OOM的处理装置的详细结构示意图,装置40可以包括检测模块41与处理模块42,其中,图4中的检测模块41所实现的功能与图3中的检测模块31相同,在此不再赘述,图4中的处理模块42所实现的功能与图3中的处理模块32相同,在此不再赘述。
进一步地,处理模块42包括获取子模块421、第一检测子模块422与第一处理子模块423,如图4所示,其中,
获取子模块421用于从第二优先级队列中获取优先级最低的第一进程;
第一检测子模块422用于检测第一进程是否满足第一预设条件,第二优先级队列中的各个进程为第一优先级队列中优先级小于预设优先级阈值的进程,第一预设条件为足迹字节数小于或等于内存限制字节数;
第一处理子模块423用于当满足第一预设条件时,继续从第二优先级队列中获取第一进程的下一个进程,并将该下一个进程作为第一进程,循环执行第一检测子模块的动作,直至检测完第二优先级队列中的全部进程;以及用于当不满足时,关闭第一进程,并循环执行检测模块与处理模块的动作。
进一步地,处理模块42包括第二检测子模块424与第二处理子模块425,如图4所示,其中,
第二检测子模块424用于当检测完第二优先级队列中的全部进程后,从第二优先级队列中未获取到进程或者第二优先级队列中存在未被关闭的进程时,检测客户端中闲置空间的第三优先级队列中是否存在进程;
第二处理子模块425用于当存在进程时,关闭第三优先级队列中优先级最低的进程,并循环执行检测模块与处理模块的动作;以及当不存在进程时,获取客户端中后台运行的进程的数量,并根据后台运行的进程的数量对后台运行的进程进行相应处理。
进一步地,第二处理子模块425包括数量检测单元4251与检测结果处理单元4252,如图4所示,其中,
数量检测单元4251用于检测后台运行的进程的数量是否大于零;
检测结果处理单元4252用于当数量大于零时,关闭后台运行的进程中优先级最低的进程,并检测内存可用页数是否小于或等于内存可用页数阈值;以及用于当内存可用页数小于或等于内存可用页数阈值,则循环执行数量检测单元与检测结果处理单元的动作,直至后台运行的进程的数量为零;以及用于当内存可用页数大于内存可用页数阈值时,循环执行检测模块与处理模块的动作。
进一步地,检测结果处理单元4252还用于当后台运行的进程的数量为零时,从第四优先级队列中获取优先级最低的进程,第四优先级队列中的进程为第一优先级队列中优先级大于或等于预设优先级阈值的进程;以及检测从第四优先级队列中获取的优先级最低的进程是否为前台进程;以及当不是前台进程时,关闭该从第四优先级队列中获取的优先级最低的进程;以及当是前台进程时循环执行检测模块与处理模块的动作。
进一步地,第一优先级队列包括第二优先级队列、第三优先级队列及第四优先级队列。
本申请实施例提供的装置,与现有技术相比,检测预设的内存阈值原因是否满足OOM的处理条件,为后续进行OOM的处理奠定必要基础;如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,其中,内存阈值原因满足OOM的处理条件包括虚拟内存空间小于预设虚拟内存空间阈值、内存断页中断抖动、内存交换空间小于预设内存交换空间阈值、内存可用页数小于或等于内存可用页数阈值中的任一项,从而能够在检测到满足OOM的处理的任一条件时,及时关闭当前运行的较低优先级的进程,从而腾出内存以供高优先级的进程使用,确保了高优先级的进程的响应速度,有效避免因为OOM对用户造成的卡顿、强制关闭等异常情况的发生。
实施例三
下面参考图5,其示出了适于用来实现本公开实施例的电子设备500的结构示意图。本申请实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:步骤a、检测预设的内存阈值原因是否满足OOM的处理条件;步骤b、如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
本申请实施例提供的计算机可读存储介质适用于上述方法的任一实施例。在此不再赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种内存溢出OOM的处理方法,其特征在于,包括:
步骤a、检测预设的内存阈值原因是否满足OOM的处理条件;
步骤b、如果满足OOM的处理条件,则依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;
内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。
2.根据权利要求1所述的方法,其特征在于,所述依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,包括:
从第二优先级队列中获取优先级最低的第一进程,并执行:
步骤c、检测所述第一进程是否满足第一预设条件,所述第二优先级队列中的各个进程为所述第一优先级队列中优先级小于预设优先级阈值的进程,所述第一预设条件为足迹字节数小于或等于内存限制字节数;
如果满足第一预设条件,则继续从所述第二优先级队列中获取所述第一进程的下一个进程,并将该下一个进程作为第一进程,循环执行步骤c,直至检测完所述第二优先级队列中的全部进程;
如果不满足,则关闭所述第一进程,并循环执行步骤a和步骤b。
3.根据权利要求2所述的方法,其特征在于,所述依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理,包括:
当检测完所述第二优先级队列中的全部进程后,从所述第二优先级队列中未获取到进程或者所述第二优先级队列中存在未被关闭的进程时,检测所述客户端中闲置空间的第三优先级队列中是否存在进程;
如果存在进程,则关闭所述第三优先级队列中优先级最低的进程,并循环执行步骤a和步骤b;
如果不存在进程,则获取所述客户端中后台运行的进程的数量,并根据所述后台运行的进程的数量对后台运行的进程进行相应处理。
4.根据权利要求3所述的方法,其特征在于,根据所述后台运行的进程的数量对后台运行的进程进行相应处理,包括:
步骤d、检测所述后台运行的进程的数量是否大于零;
步骤e、如果大于零,则关闭所述后台运行的进程中优先级最低的进程,并检测内存可用页数是否小于或等于内存可用页数阈值;
如果内存可用页数小于或等于内存可用页数阈值,则循环执行步骤d及步骤e,直至所述后台运行的进程的数量为零;
如果内存可用页数大于内存可用页数阈值,则循环执行步骤a和步骤b。
5.根据权利要求4所述的方法,其特征在于,还包括:
步骤f、如果后台运行的进程的数量为零,则从第四优先级队列中获取优先级最低的进程,所述第四优先级队列中的进程为所述第一优先级队列中优先级大于或等于预设优先级阈值的进程;
步骤g、检测从第四优先级队列中获取的优先级最低的进程是否为前台进程;
如果不是前台进程,则关闭该从第四优先级队列中获取的优先级最低的进程;
如果是前台进程,则循环执行步骤a和步骤b。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一优先级队列包括第二优先级队列、第三优先级队列及第四优先级队列。
7.一种内存溢出OOM的处理装置,其特征在于,包括:
检测模块,用于检测预设的内存阈值原因是否满足OOM的处理条件;
处理模块,用于当满足OOM的处理条件时,依据客户端中当前运行的各个进程从低到高的第一优先级队列,对相应进程进行关闭处理;
内存阈值原因满足OOM的处理条件包括以下任一项:虚拟内存空间小于预设虚拟内存空间阈值;内存断页中断抖动;内存交换空间小于预设内存交换空间阈值;内存可用页数小于或等于内存可用页数阈值。
8.根据权利要求7所述的装置,其特征在于,所述处理模块包括获取子模块、第一检测子模块与第一处理子模块;
所述获取子模块,用于从第二优先级队列中获取优先级最低的第一进程;
所述第一检测子模块,用于检测所述第一进程是否满足第一预设条件,所述第二优先级队列中的各个进程为所述第一优先级队列中优先级小于预设优先级阈值的进程,所述第一预设条件为足迹字节数小于或等于内存限制字节数;
所述第一处理子模块,用于当满足第一预设条件时,继续从所述第二优先级队列中获取所述第一进程的下一个进程,并将该下一个进程作为第一进程,循环执行第一检测子模块的动作,直至检测完所述第二优先级队列中的全部进程;以及用于当不满足时,关闭所述第一进程,并循环执行检测模块与处理模块的动作。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述的内存溢出OOM的处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-6任一项所述的内存溢出OOM的处理方法。
CN201811458279.2A 2018-11-30 2018-11-30 内存溢出oom的处理方法、电子设备及计算机存储介质 Pending CN109582442A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811458279.2A CN109582442A (zh) 2018-11-30 2018-11-30 内存溢出oom的处理方法、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811458279.2A CN109582442A (zh) 2018-11-30 2018-11-30 内存溢出oom的处理方法、电子设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN109582442A true CN109582442A (zh) 2019-04-05

Family

ID=65926335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811458279.2A Pending CN109582442A (zh) 2018-11-30 2018-11-30 内存溢出oom的处理方法、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN109582442A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633190A (zh) * 2019-09-26 2019-12-31 北京博睿宏远数据科技股份有限公司 一种应用程序内存监控方法、装置、设备及存储介质
CN111756650A (zh) * 2020-06-11 2020-10-09 广东浪潮大数据研究有限公司 一种数据处理方法、装置、运算芯片及存储介质
CN118034937A (zh) * 2024-04-11 2024-05-14 麒麟软件有限公司 一种桌面Linux操作系统的智能OOM-Killer方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902364A (zh) * 2012-12-25 2014-07-02 腾讯科技(深圳)有限公司 一种物理资源管理方法、装置及智能终端设备
CN106681933A (zh) * 2016-11-16 2017-05-17 深圳市金立通信设备有限公司 一种内存管理方法及终端
CN107220076A (zh) * 2016-09-27 2017-09-29 华为技术有限公司 一种内存回收方法及装置
CN107450985A (zh) * 2017-07-27 2017-12-08 北京珠穆朗玛移动通信有限公司 内存管理方法、移动终端及存储介质
CN107479967A (zh) * 2017-07-04 2017-12-15 深圳天珑无线科技有限公司 一种自动清除内存的方法和智能终端
CN108228343A (zh) * 2017-08-21 2018-06-29 珠海市魅族科技有限公司 内存回收方法及装置、计算机装置及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902364A (zh) * 2012-12-25 2014-07-02 腾讯科技(深圳)有限公司 一种物理资源管理方法、装置及智能终端设备
CN107220076A (zh) * 2016-09-27 2017-09-29 华为技术有限公司 一种内存回收方法及装置
CN106681933A (zh) * 2016-11-16 2017-05-17 深圳市金立通信设备有限公司 一种内存管理方法及终端
CN107479967A (zh) * 2017-07-04 2017-12-15 深圳天珑无线科技有限公司 一种自动清除内存的方法和智能终端
CN107450985A (zh) * 2017-07-27 2017-12-08 北京珠穆朗玛移动通信有限公司 内存管理方法、移动终端及存储介质
CN108228343A (zh) * 2017-08-21 2018-06-29 珠海市魅族科技有限公司 内存回收方法及装置、计算机装置及计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633190A (zh) * 2019-09-26 2019-12-31 北京博睿宏远数据科技股份有限公司 一种应用程序内存监控方法、装置、设备及存储介质
CN111756650A (zh) * 2020-06-11 2020-10-09 广东浪潮大数据研究有限公司 一种数据处理方法、装置、运算芯片及存储介质
CN118034937A (zh) * 2024-04-11 2024-05-14 麒麟软件有限公司 一种桌面Linux操作系统的智能OOM-Killer方法及系统

Similar Documents

Publication Publication Date Title
US10631361B2 (en) Method and apparatus for providing user with information received by electronic device
WO2015108300A1 (ko) 프레임률 제어 방법 및 그 전자 장치
WO2015069021A1 (en) Method for executing function in response to touch input and electronic device implementing the same
CN105389325A (zh) 内容搜索方法和实施内容搜索方法的电子装置
CN109582310A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US11681411B2 (en) Method of selecting one or more items according to user input and electronic device therefor
US10545663B2 (en) Method for changing an input mode in an electronic device
CN110162758A (zh) 在线文档插入信息方法及装置
CN111800462A (zh) 微服务实例处理方法、装置、计算机设备及存储介质
US9380463B2 (en) Method for displaying lock screen and electronic device thereof
US12014033B2 (en) Information presentation method and apparatus, and electronic device and storage medium
CN109582442A (zh) 内存溢出oom的处理方法、电子设备及计算机存储介质
US9606665B2 (en) Object moving method and electronic device implementing the same
US12050615B2 (en) Presentation method, apparatus and electronic device
CN109788334A (zh) 弹幕处理方法、装置、电子设备及计算机可读存储介质
KR102137686B1 (ko) 컨텐츠 무결성 제어 방법 및 그 전자 장치
US10643252B2 (en) Banner display method of electronic device and electronic device thereof
CN110188782A (zh) 图像相似性确定方法、装置、电子设备及可读存储介质
CN110198473A (zh) 视频处理方法、装置、电子设备及计算机可读存储介质
WO2021218919A1 (zh) 人机交互方法、装置和电子设备
US20240086053A1 (en) Display method and apparatus, electronic device, and storage medium
CN114185463B (zh) 表格处理方法、装置、电子设备和存储介质
CN113656128A (zh) 页面生成方法、装置和电子设备
US10592081B2 (en) Multi-language input method and multi-language input apparatus using the same
WO2018182235A1 (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
CB02 Change of applicant information

Country or region after: China

Address after: 408, 4th floor, 51 Zhichun Road, Haidian District, Beijing 100086

Applicant after: Tiktok Technology Co.,Ltd.

Address before: 408, 4th floor, 51 Zhichun Road, Haidian District, Beijing 100086

Applicant before: BEIJING MICROLIVE VISION TECHNOLOGY Co.,Ltd.

Country or region before: China

CB02 Change of applicant information