CN105975301A - 内存清理方法及装置、电子设备 - Google Patents

内存清理方法及装置、电子设备 Download PDF

Info

Publication number
CN105975301A
CN105975301A CN201610282786.XA CN201610282786A CN105975301A CN 105975301 A CN105975301 A CN 105975301A CN 201610282786 A CN201610282786 A CN 201610282786A CN 105975301 A CN105975301 A CN 105975301A
Authority
CN
China
Prior art keywords
application program
level
determines
submodule
card
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
Application number
CN201610282786.XA
Other languages
English (en)
Other versions
CN105975301B (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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201610282786.XA priority Critical patent/CN105975301B/zh
Priority to PCT/CN2016/095983 priority patent/WO2017185569A1/zh
Publication of CN105975301A publication Critical patent/CN105975301A/zh
Priority to EP17156301.8A priority patent/EP3239846B1/en
Priority to US15/499,868 priority patent/US10409684B2/en
Application granted granted Critical
Publication of CN105975301B publication Critical patent/CN105975301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本公开是关于一种内存清理方法及装置、电子设备。所述方法包括:确定检测到的卡顿状态对应的预设级别;确定与所述预设级别相对应的清理模式;根据所述清理模式对内存中运行的应用程序进行清理。本公开技术方案根据卡顿状态的程度来选择对应的清理模式,在用户无感知的情形下,将不必要的应用程序进行清理,使电子设备的运行更为顺畅,提高用户的使用体验。

Description

内存清理方法及装置、电子设备
技术领域
本公开涉及终端技术领域,尤其涉及一种内存清理方法及装置、电子设备。
背景技术
当用户使用手机的时间持续太长时,用户通常会不断的启动新的应用程序,忘记关闭需要关闭的应用程序。在用户未关闭应用程序的情形下,手机的内存会由于启动太多的应用程序表现出卡顿,给用户带来较差的使用体验。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种内存清理方法及装置、电子设备,用以使电子设备的运行更为顺畅。
根据本公开实施例的第一方面,提供一种内存清理方法,包括:
确定检测到的卡顿状态对应的预设级别;
确定与所述预设级别相对应的清理模式;
根据所述清理模式对内存中运行的应用程序进行清理。
在一实施例中,所述确定检测到的卡顿状态对应的预设级别,可包括:
当检测到电子设备出现第一次卡顿时,确定检测到的卡顿状态对应的预设级别为第一级别;
在出现所述第一次卡顿时对应的时间点的设定时间段内,统计所述电子设备出现卡顿状态的次数;
确定所述次数是否大于或者等于第二级别对应的预设次数阈值;
当所述次数大于或者等于所述预设次数阈值时,确定检测到的卡顿状态对应的预设级别为所述第二级别。
在一实施例中,所述确定与所述预设级别相对应的清理模式,可包括:
当所述卡顿状态对应所述第一级别时,确定与所述第一级别相对应的第一清理模式;
当所述卡顿状态对应所述第二级别时,确定与所述第二级别相对应的第二清理模式。
在一实施例中,所述根据所述清理模式对内存中运行的应用程序进行清理,可包括:
确定内存中运行的多个应用程序各自对应的程序类型;
根据所述各自对应的程序类型确定所述多个应用程序在所述清理模式下各自对应的处理方式;
根据所述处理方式控制各自对应的应用程序在所述内存中的运行状态。
在一实施例中,当所述程序类型为白名单中记录的应用程序时,所述处理方式为关闭或者停止运行应用程序,所述根据所述处理方式控制各自对应的应用程序在所述内存中的运行状态,可包括:
从所述白名单中确定需要关闭或者停止运行的应用程序在电子设备的内存容量下允许占用内存的预设内存阈值;
当所述需要关闭或者停止运行的应用程序当前占用的内存大于所述预设内存阈值时,控制所述需要关闭或者停止运行的应用程序关闭或者停止运行。
在一实施例中,所述方法还可包括:
从服务器获取所述白名单,所述白名单用于记录已统计的多个应用程序在不同内存容量下对应的预设内存阈值。
根据本公开实施例的第二方面,提供一种内存清理装置,包括:
第一确定模块,被配置为确定检测到的卡顿状态对应的预设级别;
第二确定模块,被配置为确定与所述第一确定模块确定的所述预设级别相对应的清理模式;
清理模块,被配置为根据所述第二确定模块确定的所述清理模式对内存中运行的应用程序进行清理。
在一实施例中,所述第一确定模块可包括:
第一确定子模块,被配置为当检测到电子设备出现第一次卡顿时,确定检测到的卡顿状态对应的预设级别为第一级别;
统计子模块,被配置为在出现所述第一次卡顿时对应的时间点的设定时间段内,统计所述电子设备出现卡顿状态的次数;
第二确定子模块,被配置为确定所述统计子模块统计到的所述次数是否大于或者等于第二级别对应的预设次数阈值;
第三确定子模块,被配置为当所述第二确定子模块确定所述次数大于或者等于所述预设次数阈值时,确定检测到的卡顿状态对应的预设级别为所述第二级别。
在一实施例中,所述第二确定模块可包括:
第四确定子模块,被配置为当所述卡顿状态对应所述第一确定子模块确定的所述第一级别时,确定与所述第一级别相对应的第一清理模式;
第五确定子模块,被配置为当所述卡顿状态对应所述第三确定子模块确定的所述第二级别时,确定与所述第二级别相对应的第二清理模式。
在一实施例中,所述清理模块可包括:
第六确定子模块,被配置为确定内存中运行的多个应用程序各自对应的程序类型;
第七确定子模块,被配置为根据所述第六确定子模块确定的所述各自对应的程序类型确定所述多个应用程序在所述清理模式下各自对应的处理方式;
第一控制子模块,被配置为根据所述第七确定子模块确定的所述处理方式控制各自对应的应用程序在所述内存中的运行状态。
在一实施例中,当所述程序类型为白名单中记录的应用程序时,所述处理方式为关闭或者停止运行应用程序,所述第一控制子模块可包括:
第八确定子模块,被配置为从所述白名单中确定需要关闭或者停止运行的应用程序在电子设备的内存容量下允许占用内存的预设内存阈值;
第二控制子模块,被配置为当所述第八确定子模块确定所述需要关闭或者停止运行的应用程序当前占用的内存大于所述预设内存阈值时,控制所述需要关闭或者停止运行的应用程序关闭或者停止运行。
在一实施例中,所述装置还可包括:
获取模块,被配置为从服务器获取所述白名单,所述白名单用于记录已统计的多个应用程序在不同内存容量下对应的预设内存阈值。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
确定检测到的卡顿状态对应的预设级别;
确定与所述预设级别相对应的清理模式;
根据所述清理模式对内存中运行的应用程序进行清理。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过确定与卡顿状态对应的预设级别相对应的清理模式,根据清理模式对内存中运行的应用程序进行清理,当电子设备启动较多的应用程序的情况下,可以根据卡顿状态的程度来选择对应的清理模式,在用户无感知的情形下,将不必要的应用程序进行清理,使电子设备的运行更为顺畅,提高用户的使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的内存清理方法的流程图。
图2是根据一示例性实施例一示出的内存清理方法的流程图。
图3A是根据一示例性实施例二示出的内存清理方法的流程图。
图3B是根据一示例性实施例二示出的对程序类型为白名单中记录的应用程序进行清理的流程图。
图4是根据一示例性实施例示出的一种内存清理装置的框图。
图5是根据一示例性实施例示出的另一种内存清理装置的框图。
图6是根据一示例性实施例示出的再一种内存清理装置的框图。
图7是根据一示例性实施例示出的一种适用于内存清理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的内存清理方法的流程图;该内存清理方法可以应用在电子设备(例如:智能手机、平板电脑)上,如图1所示,该内存清理方法包括以下步骤S101-S103:
在步骤S101中,确定检测到的卡顿状态对应的预设级别。
在步骤S102中,确定与预设级别相对应的清理模式。
在步骤S103中,根据清理模式对内存中运行的应用程序进行清理。
在上述步骤S101中,在一实施例中,可以为电子设备卡顿状态按照电子设备出现卡顿的次数来设定一个预设级别,例如,检测到出现一次卡顿时,对应的预设级别为第一级别,在出现第一次卡顿之后的设定时间段内,如果又出现一次以上三次以下的卡顿,对应的预设级别为第二级别,如果出现三次以上的卡顿,对应的预设级别为第三级别。
在上述步骤S102中,在一实施例中,清理模式与预设级别相对应,根据卡顿状态对应的不同级别,可对应不同的清理模式,例如,如果预设级别为第一级别,清理模式可以为第一清理模式,如果预设级别为第二级别,清理模式可以为第二清理模式,如果预设级别为第三级别,清理模式可以为第三清理模式。
在上述步骤S103中,例如,在第一清理模式下,可以对电子设备中的前台应用或者启动时间在设定时间段内(例如,启动10秒之内)的应用程序不清理,清理记录在白名单中的应用程序的缓存,控制第三方提供的应用程序停止运行,清理其它应用程序的缓存;在第二清理模式下,可以对电子设备中的前台应用或者启动时间在设定时间段内(例如,启动10秒之内)的应用程序不清理,清理记录在白名单中的应用程序的缓存,关闭自启动的应用程序,控制第三方提供的应用程序停止运行,清理其它应用程序的缓存;在第三清理模式下,可以对电子设备中的前台应用或者启动时间在设定时间段内(例如,启动10秒之内)的应用程序不清理,清理记录在白名单中的应用程序的缓存,关闭自启动的应用程序,控制第三方提供的应用程序停止运行,关闭其它应用程序。
本实施例中,通过确定与卡顿状态对应的预设级别相对应的清理模式,根据清理模式对内存中运行的应用程序进行清理,当电子设备启动较多的应用程序的情况下,可以根据卡顿状态的程度来选择对应的清理模式,在用户无感知的情形下,将不必要的应用程序进行清理,使电子设备的运行更为顺畅,提高用户的使用体验。
在一实施例中,确定检测到的卡顿状态对应的预设级别,可包括:
当检测到电子设备出现第一次卡顿时,确定检测到的卡顿状态对应的预设级别为第一级别;
在出现第一次卡顿时对应的时间点的设定时间段内,统计电子设备出现卡顿状态的次数;
确定次数是否大于或者等于第二级别对应的预设次数阈值;
当次数大于或者等于预设次数阈值时,确定检测到的卡顿状态对应的预设级别为第二级别。
在一实施例中,确定与预设级别相对应的清理模式,可包括:
当卡顿状态对应第一级别时,确定与第一级别相对应的第一清理模式;
当卡顿状态对应第二级别时,确定与第二级别相对应的第二清理模式。
在一实施例中,根据清理模式对内存中运行的应用程序进行清理,可包括:
确定内存中运行的多个应用程序各自对应的程序类型;
根据各自对应的程序类型确定多个应用程序在清理模式下各自对应的处理方式;
根据处理方式控制各自对应的应用程序在内存中的运行状态。
在一实施例中,当程序类型为白名单中记录的应用程序时,处理方式为关闭或者停止运行应用程序,根据处理方式控制各自对应的应用程序在内存中的运行状态,可包括:
从白名单中确定需要关闭或者停止运行的应用程序在电子设备的内存容量下允许占用内存的预设内存阈值;
当需要关闭或者停止运行的应用程序当前占用的内存大于预设内存阈值时,控制需要关闭或者停止运行的应用程序关闭或者停止运行。
在一实施例中,方法还可包括:
从服务器获取白名单,白名单用于记录已统计的多个应用程序在不同内存容量下对应的预设内存阈值。
具体如何内存清理的,请参考后续实施例。
至此,本公开实施例提供的上述方法,可以根据卡顿状态的程度来选择对应的清理模式,在用户无感知的情形下,将不必要的应用程序进行清理,使电子设备的运行更为顺畅,提高用户的使用体验。
下面以具体实施例来说明本公开实施例提供的技术方案。
图2是根据一示例性实施例一示出的内存清理方法的流程图;本实施例利用本公开实施例提供的上述方法,以如何确定预设级别以及如何根据清理模式对应用程序进行清理为例进行示例性说明,如图2所示,包括如下步骤:
在步骤S201中,当检测到电子设备出现第一次卡顿时,确定检测到的卡顿状态对应的预设级别为第一级别,可同时执行步骤S202和步骤S207。
在步骤S202中,在出现第一次卡顿时对应的时间点的设定时间段内,统计电子设备出现卡顿状态的次数,执行步骤S203。
在步骤S203中,确定次数是否大于或者等于第二级别对应的预设次数阈值,当次数大于或者等于预设次数阈值时,执行步骤S204,当次数小于预设次数阈值时,继续检测卡顿状态。
在步骤S204中,当次数大于或者等于预设次数阈值时,确定检测到的卡顿状态对应的预设级别为第二级别,执行步骤S205。
在步骤S205中,当卡顿状态对应第二级别时,确定与第二级别相对应的第二清理模式,执行步骤S206。
在步骤S206中,根据第二清理模式对内存中运行的应用程序进行清理,流程结束。
在步骤S207中,当卡顿状态对应第一级别时,确定与第一级别相对应的第一清理模式,执行步骤S208。
在步骤S208中,根据第一清理模式对内存中运行的应用程序进行清理,流程结束。
在上述步骤S201中,在一实施例中,第一级别可以表示卡顿状态处于较轻的级别。
在上述步骤S202中,在一实施例中,例如,电子设备在10点11分出现了第一次卡段,则在10点11分开始的20分钟内,可继续检测电子设备的卡顿状态,统计电子设备出现卡顿状态的次数,例如,出现卡顿状态的次数为1次。
在上述步骤S203中,在一实施例中,预设次数阈值可以根据电子设备的内存容量的大小来设置,例如,电子设备的内存容量为1G,则对应的预设次数阈值为1,电子设备的内存容量为2G,则对应的预设次数阈值为2,电子设备的内存容量为3G,则对应的预设次数阈值为3,电子设备的内存容量越大,表示同时可以运行的应用程序的数量越大。
在上述步骤S204-步骤S206中,当次数大于或者等于预设次数阈值时,确定检测到的卡顿状态对应的预设级别为第二级别,表示电子设备的内存运行应用程序的负担加重,在此情形下,第一清理模式的清理方式以不足以能够避免电子设备的卡顿状态,此时按照第二级别对应的第二清理模式对内存运行的应用程序进行清理,例如,清理记录在白名单中的应用程序的缓存,关闭自启动的应用程序,控制第三方提供的应用程序停止运行,清理其它应用程序的缓存。
在上述步骤S207-步骤S208中根据第一级别对应的第一清理模式对内存中运行的应用程序进行清理的描述可以参见上述图1所示实施例的描述,本实施例不再详述。
本实施例在具有上述实施例有益技术效果的基础上,通过对卡顿状态的程度进行分级,按照不同级别对应的清理模式清理内存中运行的应用程序,从而可以针对不同的卡顿状态使不同应用程序得到不同程度的清理,细化了对应用程序的清理操作。
图3A是根据一示例性实施例二示出的内存清理方法的流程图,图3B是根据一示例性实施例二示出的对程序类型为白名单中记录的应用程序进行清理的流程图;本实施例利用本公开实施例提供的上述方法,以如何根据清理模式对内存中运行的应用程序进行清理为例进行示例性说明,如图3A所示,包括如下步骤:
在步骤S301中,确定检测到的卡顿状态对应的预设级别。
在步骤S302中,确定与预设级别相对应的清理模式。
在步骤S303中,确定内存中运行的多个应用程序各自对应的程序类型。
在步骤S304中,根据各自对应的程序类型确定多个应用程序在清理模式下各自对应的处理方式。
在步骤S305中,根据处理方式控制各自对应的应用程序在内存中的运行状态。
上述步骤S301和步骤S302的描述可以参见上述图1所示实施例的描述,在此不再详述。
在上述步骤S303中,在一实施例中,程序类型可以包括:前台应用或者启动时间在设定时间段内(例如,启动10秒之内)的应用程序、记录在白名单中的应用程序、第三方提供的应用程序、用户和系统加锁的应用程序、自启动的应用程序、未在上述分类中的其它应用程序,等等。
在上述步骤S304和步骤S305中,在一实施例中,处理方式可以包括:清理应用程序的缓存、关闭应用程序、控制应用程序停止运行、清理应用程序的缓存等等。例如,内存中运行的多个应用程序分别为应用程序A、应用程序B、应用程序C、应用程序D,其中,应用程序A为前台应用的应用程序、应用程序B为记录在白名单中的应用程序、应用程序C为第三方提供的应用程序、应用程序D为自启动的应用程序,当清理模式为第一清理模式时,可以对应用程序A不清理,清理应用程序B的缓存,控制应用程序C停止运行,清理应用程序D的缓存;在第二清理模式下,可以对应用程序A不清理,清理应用程序B的缓存,控制应用程序C停止运行,关闭应用程序D。
如图3B所示,当程序类型为白名单中记录的应用程序时,处理方式为关闭或者停止运行应用程序,以关闭记录在白名单中的应用程序为例进行示例性说明,上述步骤S305可包括:
在步骤S311中,从服务器获取白名单,白名单用于记录已统计的多个应用程序在不同内存容量下对应的预设内存阈值。
在步骤S312中,从白名单中确定需要关闭运行的应用程序在电子设备的内存容量下允许占用内存的预设内存阈值。
在步骤S312中,当需要关闭运行的应用程序当前占用的内存大于预设内存阈值时,关闭该运行的应用程序。
在上述步骤S311中,白名单可以通过对海量用户在使用电子设备的过程中出现卡顿的情形进行统计得到,白名单可以记录统计到的应用程序在不同内存容量出现卡顿时的预设内容阈值。
例如,对于地图应用程序,记录在白名单中的预设内存阈值为100M,当地图应用程序在运行时的内存容量超过该100M时,可以关闭地图应用程序。控制记录在白名单中的应用程序停止运行的方式与上述相似,在此不再详述。
本实施例在具有上述实施例有益技术效果的基础上,通过对内存中运行的多个应用程序各自对应的程序类型确定多个应用程序在清理模式下各自对应的处理方式,从而可以使不同的应用程序具有不同的清理策略,从而可以针对不同程序类型的应用程序的清理更加精细化,确保用户能够正常使用电子设备。
图4是根据一示例性实施例示出的一种内存清理装置的框图,如图4所示,内存清理装置包括:
第一确定模块41,被配置为确定检测到的卡顿状态对应的预设级别;
第二确定模块42,被配置为确定与第一确定模块41确定的预设级别相对应的清理模式;
清理模块43,被配置为根据第二确定模块42确定的清理模式对内存中运行的应用程序进行清理。
图5是根据一示例性实施例示出的另一种内存清理装置的框图,如图5所示,在上述图4所示实施例的基础上,在一实施例中,第一确定模块41可包括:
第一确定子模块411,被配置为当检测到电子设备出现第一次卡顿时,确定检测到的卡顿状态对应的预设级别为第一级别;
统计子模块412,被配置为在出现第一次卡顿时对应的时间点的设定时间段内,统计电子设备出现卡顿状态的次数;
第二确定子模块413,被配置为确定统计子模块412统计到的次数是否大于或者等于第二级别对应的预设次数阈值;
第三确定子模块414,被配置为当第二确定子模块413确定次数大于或者等于预设次数阈值时,确定检测到的卡顿状态对应的预设级别为第二级别。
在一实施例中,第二确定模块42可包括:
第四确定子模块421,被配置为当卡顿状态对应第一确定子模块411确定的第一级别时,确定与第一级别相对应的第一清理模式;
第五确定子模块422,被配置为当卡顿状态对应第三确定子模块414确定的第二级别时,确定与第二级别相对应的第二清理模式。
图6是根据一示例性实施例示出的再一种内存清理装置的框图,如图6所示,在上述图4或图5所示实施例的基础上,在一实施例中,清理模块43可包括:
第六确定子模块431,被配置为确定内存中运行的多个应用程序各自对应的程序类型;
第七确定子模块432,被配置为根据第六确定子模块431确定的各自对应的程序类型确定多个应用程序在清理模式下各自对应的处理方式;
第一控制子模块433,被配置为根据第七确定子模块432确定的处理方式控制各自对应的应用程序在内存中的运行状态。
在一实施例中,当程序类型为白名单中记录的应用程序时,处理方式为关闭或者停止运行应用程序,第一控制子模块433可包括:
第八确定子模块4331,被配置为从白名单中确定需要关闭或者停止运行的应用程序在电子设备的内存容量下允许占用内存的预设内存阈值;
第二控制子模块4332,被配置为当第八确定子模块4331确定需要关闭或者停止运行的应用程序当前占用的内存大于预设内存阈值时,控制需要关闭或者停止运行的应用程序关闭或者停止运行。
在一实施例中,装置还可包括:
获取模块44,被配置为从服务器获取白名单,白名单用于记录已统计的多个应用程序在不同内存容量下对应的预设内存阈值,第八确定子模块4331从获取模块44获取到的白名单中确定需要关闭或者停止运行的应用程序在电子设备的内存容量下允许占用内存的预设内存阈值。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种适用于内存清理装置的框图。例如,装置700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,装置700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理部件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件706为装置700的各种组件提供电力。电力组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由装置700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (13)

1.一种内存清理方法,其特征在于,所述方法包括:
确定检测到的卡顿状态对应的预设级别;
确定与所述预设级别相对应的清理模式;
根据所述清理模式对内存中运行的应用程序进行清理。
2.根据权利要求1所述的方法,其特征在于,所述确定检测到的卡顿状态对应的预设级别,包括:
当检测到电子设备出现第一次卡顿时,确定检测到的卡顿状态对应的预设级别为第一级别;
在出现所述第一次卡顿时对应的时间点的设定时间段内,统计所述电子设备出现卡顿状态的次数;
确定所述次数是否大于或者等于第二级别对应的预设次数阈值;
当所述次数大于或者等于所述预设次数阈值时,确定检测到的卡顿状态对应的预设级别为所述第二级别。
3.根据权利要求2所述的方法,其特征在于,所述确定与所述预设级别相对应的清理模式,包括:
当所述卡顿状态对应所述第一级别时,确定与所述第一级别相对应的第一清理模式;
当所述卡顿状态对应所述第二级别时,确定与所述第二级别相对应的第二清理模式。
4.根据权利要求1所述的方法,其特征在于,所述根据所述清理模式对内存中运行的应用程序进行清理,包括:
确定内存中运行的多个应用程序各自对应的程序类型;
根据所述各自对应的程序类型确定所述多个应用程序在所述清理模式下各自对应的处理方式;
根据所述处理方式控制各自对应的应用程序在所述内存中的运行状态。
5.根据权利要求4所述的方法,其特征在于,当所述程序类型为白名单中记录的应用程序时,所述处理方式为关闭或者停止运行应用程序,所述根据所述处理方式控制各自对应的应用程序在所述内存中的运行状态,包括:
从所述白名单中确定需要关闭或者停止运行的应用程序在电子设备的内存容量下允许占用内存的预设内存阈值;
当所述需要关闭或者停止运行的应用程序当前占用的内存大于所述预设内存阈值时,控制所述需要关闭或者停止运行的应用程序关闭或者停止运行。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
从服务器获取所述白名单,所述白名单用于记录已统计的多个应用程序在不同内存容量下对应的预设内存阈值。
7.一种内存清理装置,其特征在于,所述装置包括:
第一确定模块,被配置为确定检测到的卡顿状态对应的预设级别;
第二确定模块,被配置为确定与所述第一确定模块确定的所述预设级别相对应的清理模式;
清理模块,被配置为根据所述第二确定模块确定的所述清理模式对内存中运行的应用程序进行清理。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块包括:
第一确定子模块,被配置为当检测到电子设备出现第一次卡顿时,确定检测到的卡顿状态对应的预设级别为第一级别;
统计子模块,被配置为在出现所述第一次卡顿时对应的时间点的设定时间段内,统计所述电子设备出现卡顿状态的次数;
第二确定子模块,被配置为确定所述统计子模块统计到的所述次数是否大于或者等于第二级别对应的预设次数阈值;
第三确定子模块,被配置为当所述第二确定子模块确定所述次数大于或者等于所述预设次数阈值时,确定检测到的卡顿状态对应的预设级别为所述第二级别。
9.根据权利要求8所述的装置,其特征在于,所述第二确定模块包括:
第四确定子模块,被配置为当所述卡顿状态对应所述第一确定子模块确定的所述第一级别时,确定与所述第一级别相对应的第一清理模式;
第五确定子模块,被配置为当所述卡顿状态对应所述第三确定子模块确定的所述第二级别时,确定与所述第二级别相对应的第二清理模式。
10.根据权利要求7所述的装置,其特征在于,所述清理模块包括:
第六确定子模块,被配置为确定内存中运行的多个应用程序各自对应的程序类型;
第七确定子模块,被配置为根据所述第六确定子模块确定的所述各自对应的程序类型确定所述多个应用程序在所述清理模式下各自对应的处理方式;
第一控制子模块,被配置为根据所述第七确定子模块确定的所述处理方式控制各自对应的应用程序在所述内存中的运行状态。
11.根据权利要求10所述的装置,其特征在于,当所述程序类型为白名单中记录的应用程序时,所述处理方式为关闭或者停止运行应用程序,所述第一控制子模块包括:
第八确定子模块,被配置为从所述白名单中确定需要关闭或者停止运行的应用程序在电子设备的内存容量下允许占用内存的预设内存阈值;
第二控制子模块,被配置为当所述第八确定子模块确定所述需要关闭或者停止运行的应用程序当前占用的内存大于所述预设内存阈值时,控制所述需要关闭或者停止运行的应用程序关闭或者停止运行。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
获取模块,被配置为从服务器获取所述白名单,所述白名单用于记录已统计的多个应用程序在不同内存容量下对应的预设内存阈值。
13.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
确定检测到的卡顿状态对应的预设级别;
确定与所述预设级别相对应的清理模式;
根据所述清理模式对内存中运行的应用程序进行清理。
CN201610282786.XA 2016-04-29 2016-04-29 内存清理方法及装置、电子设备 Active CN105975301B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610282786.XA CN105975301B (zh) 2016-04-29 2016-04-29 内存清理方法及装置、电子设备
PCT/CN2016/095983 WO2017185569A1 (zh) 2016-04-29 2016-08-19 内存清理方法及装置、电子设备
EP17156301.8A EP3239846B1 (en) 2016-04-29 2017-02-15 Method and device for cleaning memory, and electronic device
US15/499,868 US10409684B2 (en) 2016-04-29 2017-04-27 Method, device and storage medium for cleaning memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610282786.XA CN105975301B (zh) 2016-04-29 2016-04-29 内存清理方法及装置、电子设备

Publications (2)

Publication Number Publication Date
CN105975301A true CN105975301A (zh) 2016-09-28
CN105975301B CN105975301B (zh) 2018-09-04

Family

ID=56994109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610282786.XA Active CN105975301B (zh) 2016-04-29 2016-04-29 内存清理方法及装置、电子设备

Country Status (4)

Country Link
US (1) US10409684B2 (zh)
EP (1) EP3239846B1 (zh)
CN (1) CN105975301B (zh)
WO (1) WO2017185569A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547640A (zh) * 2016-11-23 2017-03-29 深圳市金立通信设备有限公司 一种后台清理的方法及终端
CN106559579A (zh) * 2016-11-30 2017-04-05 努比亚技术有限公司 移动终端和cpu/gpu调度参数更新方法
CN107220093A (zh) * 2017-06-20 2017-09-29 北京金山安全软件有限公司 一种进程处理方法及装置
CN107391198A (zh) * 2017-07-25 2017-11-24 广东欧珀移动通信有限公司 任务调度方法和装置、计算机可读存储介质、移动终端
CN107544842A (zh) * 2017-08-25 2018-01-05 广东欧珀移动通信有限公司 应用程序处理方法和装置、计算机设备、存储介质
CN107678698A (zh) * 2017-10-31 2018-02-09 努比亚技术有限公司 缓存数据清理方法、服务器、终端及计算机可读存储介质
CN107896273A (zh) * 2017-09-28 2018-04-10 努比亚技术有限公司 一种终端进程管理方法、终端及计算机可读存储介质
WO2018157565A1 (zh) * 2017-02-28 2018-09-07 中兴通讯股份有限公司 内存的回收方法和装置和计算机存储介质
WO2019042294A1 (zh) * 2017-08-31 2019-03-07 Oppo广东移动通信有限公司 资源配置方法及相关产品
CN112732355A (zh) * 2021-01-08 2021-04-30 蒋耕银 一种基于大数据的后台应用清理系统及方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108710539B (zh) * 2018-05-18 2021-03-16 珠海格力电器股份有限公司 一种信息处理方法、终端及可读存储介质
CN111813639B (zh) * 2019-04-09 2022-07-15 Oppo广东移动通信有限公司 设备运行等级的评定方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324575A (zh) * 2012-03-23 2013-09-25 腾讯科技(深圳)有限公司 清理内存的方法和移动终端
CN104714874A (zh) * 2015-02-28 2015-06-17 深圳市中兴移动通信有限公司 一种移动终端内存智能优化的方法及移动终端
CN105094936A (zh) * 2015-09-24 2015-11-25 广东小天才科技有限公司 应用于移动终端的后台应用程序清理方法和装置
CN105242973A (zh) * 2015-11-10 2016-01-13 上海斐讯数据通信技术有限公司 一种安卓系统的内存优化方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115703A (en) * 1998-05-11 2000-09-05 International Business Machines Corporation Two-level caching system for prepared SQL statements in a relational database management system
US7155583B2 (en) * 2004-02-25 2006-12-26 Research In Motion Limited Memory management system and method for a mobile device
US7231199B2 (en) * 2004-02-27 2007-06-12 Research In Motion Limited Data protection for applications on a mobile electronic device
US7512767B2 (en) * 2006-01-04 2009-03-31 Sony Ericsson Mobile Communications Ab Data compression method for supporting virtual memory management in a demand paging system
CN102984580B (zh) * 2012-11-12 2016-04-20 北京奇虎科技有限公司 内存清理方法及系统
CN103092700B (zh) * 2013-02-01 2016-09-28 华为终端有限公司 内存清理方法、装置和终端设备
CN103106093A (zh) * 2013-02-21 2013-05-15 北京奇虎科技有限公司 一种系统运行加速方法和装置
CN103677977B (zh) * 2013-12-19 2017-05-17 贝壳网际(北京)安全技术有限公司 清理移动终端中临时文件的方法、装置和移动终端
CN104199781A (zh) 2014-08-14 2014-12-10 深圳百科信息技术有限公司 一种基于共享内存的内存碎片分配方法和装置
CN104536907B (zh) * 2015-01-26 2018-11-09 联想(北京)有限公司 一种内存清理方法及电子设备
CN106293979B (zh) * 2015-06-25 2019-11-15 伊姆西公司 检测进程无响应的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324575A (zh) * 2012-03-23 2013-09-25 腾讯科技(深圳)有限公司 清理内存的方法和移动终端
CN104714874A (zh) * 2015-02-28 2015-06-17 深圳市中兴移动通信有限公司 一种移动终端内存智能优化的方法及移动终端
CN105094936A (zh) * 2015-09-24 2015-11-25 广东小天才科技有限公司 应用于移动终端的后台应用程序清理方法和装置
CN105242973A (zh) * 2015-11-10 2016-01-13 上海斐讯数据通信技术有限公司 一种安卓系统的内存优化方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547640A (zh) * 2016-11-23 2017-03-29 深圳市金立通信设备有限公司 一种后台清理的方法及终端
CN106559579A (zh) * 2016-11-30 2017-04-05 努比亚技术有限公司 移动终端和cpu/gpu调度参数更新方法
CN106559579B (zh) * 2016-11-30 2020-08-21 契科基纳(南京)科技有限公司 移动终端和cpu/gpu调度参数更新方法
WO2018157565A1 (zh) * 2017-02-28 2018-09-07 中兴通讯股份有限公司 内存的回收方法和装置和计算机存储介质
CN107220093A (zh) * 2017-06-20 2017-09-29 北京金山安全软件有限公司 一种进程处理方法及装置
CN107391198B (zh) * 2017-07-25 2019-07-16 Oppo广东移动通信有限公司 任务调度方法和装置、计算机可读存储介质、移动终端
CN107391198A (zh) * 2017-07-25 2017-11-24 广东欧珀移动通信有限公司 任务调度方法和装置、计算机可读存储介质、移动终端
CN107544842A (zh) * 2017-08-25 2018-01-05 广东欧珀移动通信有限公司 应用程序处理方法和装置、计算机设备、存储介质
WO2019042294A1 (zh) * 2017-08-31 2019-03-07 Oppo广东移动通信有限公司 资源配置方法及相关产品
CN107896273A (zh) * 2017-09-28 2018-04-10 努比亚技术有限公司 一种终端进程管理方法、终端及计算机可读存储介质
CN107678698A (zh) * 2017-10-31 2018-02-09 努比亚技术有限公司 缓存数据清理方法、服务器、终端及计算机可读存储介质
CN107678698B (zh) * 2017-10-31 2020-11-17 太仓市昊博技术服务有限公司 缓存数据清理方法、服务器、终端及计算机可读存储介质
CN112732355A (zh) * 2021-01-08 2021-04-30 蒋耕银 一种基于大数据的后台应用清理系统及方法
CN112732355B (zh) * 2021-01-08 2022-03-01 湖南华埔信息产业有限公司 一种基于大数据的后台应用清理系统及方法
CN114528039A (zh) * 2021-01-08 2022-05-24 蒋耕银 一种基于大数据的后台应用清理系统

Also Published As

Publication number Publication date
US10409684B2 (en) 2019-09-10
CN105975301B (zh) 2018-09-04
WO2017185569A1 (zh) 2017-11-02
EP3239846B1 (en) 2020-01-01
US20170315870A1 (en) 2017-11-02
EP3239846A1 (en) 2017-11-01

Similar Documents

Publication Publication Date Title
CN105975301A (zh) 内存清理方法及装置、电子设备
CN106028143A (zh) 视频直播方法及装置
CN105278370B (zh) 节电模式开启方法及装置
CN106201686A (zh) 应用的管理方法、装置及终端
CN104794382A (zh) 应用启动方法和装置
CN104598093A (zh) 锁屏时提醒信息的方法及装置
CN105224349A (zh) 应用程序的删除提示方法和装置
CN104298547A (zh) 终端设置方法及装置
CN104391632A (zh) 内存清理的方法及装置
CN105306718A (zh) 事件提示方法及装置
CN105956432A (zh) 移动终端的解锁方法、装置和移动终端
CN104615240A (zh) 终端的解锁方法和装置
CN104331220A (zh) 解锁处理方法及装置
CN105512545A (zh) 访问权限管理方法和装置
CN104331228A (zh) 锁屏的方法及装置
CN106201296A (zh) 实现防误触的方法及装置
CN103997686B (zh) 基于智能电视的播放管理方法和装置
CN106407079A (zh) 移动终端充电提醒方法、装置及设备
CN106231432A (zh) 分享视频的方法及装置
CN107783715A (zh) 应用启动方法及装置
CN106503516A (zh) 终端、指纹解锁方法及装置
CN105913569A (zh) 电量管理方法和装置
CN104216525A (zh) 相机应用的模式控制方法及装置
CN107622189A (zh) 优化指纹解锁的方法和装置
CN105187671A (zh) 录音方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant