CN110968523A - 内存碎片整理的方法和装置 - Google Patents
内存碎片整理的方法和装置 Download PDFInfo
- Publication number
- CN110968523A CN110968523A CN201911220114.6A CN201911220114A CN110968523A CN 110968523 A CN110968523 A CN 110968523A CN 201911220114 A CN201911220114 A CN 201911220114A CN 110968523 A CN110968523 A CN 110968523A
- Authority
- CN
- China
- Prior art keywords
- memory
- defragmentation
- application program
- fragmentation
- preset
- 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
Links
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例提供一种内存碎片整理的方法和装置,该方法包括:预测在当前时刻后的预设时间段内用户可能启动的应用程序,若所述应用程序运行所需的内存资源大于预设内存资源,则执行内存碎片整理。能够***内存碎片化问题并进行内存碎片整理,从而保证应用程序的正常运行,提高用户体验。
Description
技术领域
本申请实施例涉及存储技术领域,尤其涉及一种内存碎片整理的方法和装置。
背景技术
内存是计算机***的重要组成部分,能够实现数据的存储功能,也是高速执行单元与外部低速存储部件之间的缓存单元。内存管理则是计算机软件***中一项重要的基础功能,好的内存管理可以使计算机***中的内存得到高效利用,减少内存碎片(多块小块空闲内存)的存在。计算机工作一段时间后一般会出现内存碎片,如果出现大量的内存碎片,可能使得某些软件功能模块无法正常运行。
现有技术是先确定内存的状态是否异常,如果内存的状态出现异常才会执行内存碎片整理。
如果在内存碎片整理完成前用户启动应用程序,则会出现当前的内存无法满足应用程序正常运行所需的要求。
发明内容
本申请实施例提供一种内存碎片整理的方法和装置,能够***内存碎片化问题并进行内存碎片整理,保证应用程序的正常运行,从而提高用户体验。
第一方面,本申请实施例提供一种内存碎片整理的方法,包括:预测在当前时刻后的预设时间段内用户可能启动的应用程序;若所述应用程序运行所需的内存资源大于预设内存资源,则执行内存碎片整理。
在一种可能的实现方式中,在所述执行内存碎片整理之前,还包括:获取所述内存的碎片化状态;根据所述内存的碎片化状态,执行内存碎片整理。
在一种可能的实现方式中,所述获取所述内存的碎片化状态,包括:分别获取所述内存的不同页数连续可用页框的数量;根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片化状态。
在一种可能的实现方式中,所述根据所述内存的不同页数连续可用页框的数量,确定所述内存的状态,包括:根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片指数;其中,所述内存的碎片指数越大表示所述内存的碎片化状态越严重。
在一种可能的实现方式中,所述根据所述内存的碎片化状态,执行内存碎片整理,包括:若所述内存的碎片指数大于预设指数阈值,则执行内存碎片整理。
在一种可能的实现方式中,所述执行内存碎片整理,包括:若所述应用程序运行所需的内存资源小于内存的可用内存资源,则执行内存碎片整理。
在一种可能的实现方式中,所述执行内存碎片整理,还包括:若所述应用程序运行所需的内存资源大于内存的可用内存资源,则释放当前无需使用的应用程序占用的内存资源。
在一种可能的实现方式中,所述预设指数阈值与所述内存的大小有关。
在一种可能的实现方式中,所述预测在当前时刻后的预设时间段内的用户可能启动的应用程序,包括:获取所述用户使用应用程序的历史行为;根据所述用户使用应用程序的历史行为,预测在当前时间后的预设时间段内的用户可能启动的应用程序。
第二方面,本申请实施例提供一种内存碎片整理装置,包括:
预测模块,用于预测在当前时刻后的预设时间段内用户可能启动的应用程序;
处理模块,用于若所述应用程序运行所需的内存资源大于预设内存资源,则执行内存碎片整理。
在一种可能的实现方式中,本申请实施例的装置还可以包括获取模块;
所述获取模块,用于在所述处理模块执行内存碎片整理之前,获取所述内存的碎片化状态;
所述处理模块,具体用于:根据所述内存的碎片化状态,执行内存碎片整理。
在一种可能的实现方式中,所述获取模块,具体用于:分别获取所述内存的不同页数连续可用页框的数量;根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片化状态。
在一种可能的实现方式中,所述获取模块,具体用于:根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片指数;其中,所述内存的碎片指数越大表示所述内存的碎片化状态越严重。
在一种可能的实现方式中,所述处理模块,具体用于:若所述内存的碎片指数大于预设指数阈值,则执行内存碎片整理。
在一种可能的实现方式中,所述处理模块,具体用于:若所述应用程序运行所需的内存资源小于内存的可用内存资源,则执行内存碎片整理。
在一种可能的实现方式中,所述处理模块,还用于:若所述应用程序运行所需的内存资源大于内存的可用内存资源,则释放当前无需使用的应用程序占用的内存资源。
在一种可能的实现方式中,所述预设指数阈值与所述内存的大小有关。
在一种可能的实现方式中,所述预测模块,具体用于:获取所述用户使用应用程序的历史行为;根据所述用户使用应用程序的历史行为,预测在当前时间后的预设时间段内的用户可能启动的应用程序。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器;所述存储器与所述处理器耦合;所述存储器用于存储程序指令;所述处理器用于调用所述存储器中的程序指令执行如第一方面及其可能的实现方式中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被执行时实现如第一方面及其可能的实现方式中任一项所述的方法。
第五方面,本申请实施例提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序以实施如第一方面及其可能的实现方式中任一项所述的方法。
通过本申请实施例提供的内存碎片整理的方法和装置,能够***内存碎片化问题并进行内存碎片整理,从而保证应用程序的正常运行,提高用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用场景图;
图2为本申请一实施例提供的内存碎片整理的方法的流程图;
图3为本申请另一实施例提供的内存碎片整理的方法的流程图;
图4为本申请又一实施例提供的内存碎片整理的方法的流程图;
图5为本申请一实施例提供的内存碎片整理的装置的结构示意图;
图6为本申请一实施例提供的电子设备的结构示意图;
图7为本申请一实施例提供的电子设备800的框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请一实施例提供的应用场景图,如图1所示,本实施例提供的一种内存碎片整理的方法和装置,可以适用于有内存的电子设备,包括:可移动终端设备和计算机设备,如手机、平板电脑,家用电脑等。
图2为本申请一实施例提供的内存碎片整理的方法的流程图,如图2所示,本实施例的方法可以包括:
S201、预测在当前时刻后的预设时间段内用户可能启动的应用程序。
本申请实施例可以应用于电子设备中,电子设备中安装有应用程序,用户可以启动电子设备中的应用程序来完成相应的操作。本实施例中,可以预测在当前时刻后的预设时间段内的用户可能启动的应用程序,例如当前可以预测未来5分钟内用户可能启动应用程序。
在一些实施例中,上述S201的一种可能的实现方式为:获取所述用户使用应用程序的历史行为;并根据所述用户使用应用程序的历史行为,预测在当前时间后的预设时间段内的用户可能启动的应用程序。
可选地,上述S201可以根据用户在一个月内的历史行为统计用户的行为习惯,如早上八点上班路上需要启动百度地图应用程序进行导航,晚上九点会启动游戏应用程序等。
S202、若所述应用程序运行所需的内存资源大于预设内存资源,则执行内存碎片整理。
在一些实施例中,上述S202的一种可能的实现方式为:在预测到在当前时间后的预设时间段内用户可能启动的应用程序后,判断所述应用程序运行所需的内存资源是否大于预设内存资源,如果所述应用程序运行所需的内存资源大于预设内存资源,说明应用程序运行所需的内存资源较多,则执行内存碎片整理,以保证经过碎片整后的内存满足应用程序运行所需的要求,保证应用程序运行的启动迅速、流畅性好。
可选地,如果所述应用程序运行所需的内存资源小于或等于预设内存资源,说明应用程序运行所需的内存资源较小,无需执行内存碎片整理,当前内存也会满足该应用程序运行的要求。
本实施例提供的内存碎片的整理的方法,通过预测在当前时刻后的预设时间段内用户可能启动的应用程序;若所述应用程序运行所需的内存资源大于预设内存资源,则执行内存碎片整理。因此,本实施例可以在应用程序启动前执行内存碎片整理,保证经过内存碎片整理后的内存满足应用程序运行所需的要求,保证应用程序运行的启动迅速、流畅性好,提高用户的体验。
图3为本申请另一实施例提供的内存碎片整理的方法的流程图,如图3所示,本申请实施例可以应用于电子设备中,本实施例的方法可以包括:
S301、预测在当前时刻后的预设时间段内用户可能启动的应用程序。
本实施例中,S301的具体实现过程可以参见图2所示实施例中的相关描述,此处不再赘述。
S302、若所述应用程序运行所需的内存资源大于预设内存资源,获取所述内存的碎片化状态。
本实施例中,若预测的应用程序运行所需的内存资源大于预设内存资源,由于电子设备在工作一段时间后一般会出现内存碎片,如果出现大量的内存碎片,可能使得所述应用程序无法正常运行,所以需要进行内存碎片化整理,在进行内存碎片整理前,需要获取所述电子设备的内存碎片化状态。
在一些实施例中,上述S302中的获取所述内存的碎片化状态的一种可能的实现方式为:分别获取所述内存的不同页数连续可用页框的数量;根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片化状态。
本实施例中,分别获取内存的连续1页可用页框的数量、连续2页可用页框的数量、连续4页可用页框的数量等等,然后再根据这些连续可用框的数量来确定内存的碎片化状态。其中,本实施例可以把所有可用的内存以2的幂次方的形式,分成11个块链表,分别对应为连续1、2、4、8、16、32、64、128、256、512、1024页可用页框,在内存没有出现碎片化问题的时候,不同页数连续可用的页框数量均为最大,随着内存碎片化的产生,不同页数连续可用的页框数量会逐渐减少,内存碎片化越来越严重。因此,本实施例可以根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片化状态。
在一些实施例中,上述根据所述内存的不同页数连续可用页框的数量,确定所述内存的状态的一种可能的实现方式为:根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片指数;其中,所述内存的碎片指数越大表示所述内存的碎片化状态越严重。
其中,本实施例计算内存碎片指数的函数例如是__fragmentation_index,该函数的输入值是不同页数连续可用页框的数量,返回值是内存碎片指数,函数返回值越靠近1000,则内存碎片化越严重,内存的可用连续内存资源越少;函数返回值为-1000,表示内存充足,内存的当前状态可以保证上述应用程序的正常运行。由此可知,内存碎片化指数越大,内存碎片化越严重。
可选地,函数返回值可能为0,表示内存已经没有空闲的内存资源了,此时即使进行内存碎片整理也无法保证应用程序的正常运行。
S303、根据所述内存的碎片化状态,执行内存碎片整理。
本实施例中,在获得内存的碎片化状态后,根据该内存的碎片化状态,确定是否需要执行内存碎片整理,若需要则执行内存碎片整理,若不需要则结束。
在一些实施例中,上述S303的一种可能的实现方式为:若所述内存的碎片指数大于预设指数阈值,则执行内存碎片整理。
在本实施例中,电子设备中预先保存有预设指数阈值,在获得内存的内存碎片指数之后,判断内存碎片指数是否大于预设指数阈值,若内存碎片指数大于预设指数阈值,表明内存的内存碎片化严重,内存的可用连续内存资源紧张,因此,执行内存碎片整理来增加内存的可用连续内存资源;当内存碎片指数小于或等于预设指数阈值时,表明内存的内存碎片化不严重,不需要进行内存碎片整理。
可选地,所述预设指数阈值与所述内存的大小有关,例如内存为4G大小时对应的预设指数阈值大于内存为2G大小时对应的预设指数阈值。
可选地,该预设指数阈值是在对电子设备进行性能测试的时候根据启动速度和流畅度所确定的指数阈值。
本实施例提供的内存碎片整理的方法,通过预测在当前时刻后的预设时间段内用户可能启动的应用程序;若所述应用程序运行所需的内存资源大于预设内存资源,获取所述内存的碎片化状态;根据所述内存的碎片化状态,执行内存碎片整理。本申请实施例可以在应用程序启动前根据内存的碎片化状态判断是否需要执行内存碎片整理,如果内存碎片化严重,则需要先进行内存碎片整理,保证经过内存碎片整理后的内存满足应用程序运行所需的要求,保证应用程序运行的启动迅速、流畅性好,提高用户的体验。
图4为本申请又一实施例提供的内存碎片整理的方法的流程图,如图4所示,本实施例的方法可以包括:
S401、预测在当前时刻后的预设时间段内用户可能启动的应用程序。
本实施例中,S401的具体实现过程可以参见图2所示实施例中的相关描述,此处不再赘述。
S402、若所述应用程序运行所需的内存资源大于预设内存资源,判断所述应用程序运行所需的内存资源是否小于内存的可用内存资源。若是,则执行S403,若否,则执行S404。
S403、执行内存碎片整理。
S404、释放当前无需使用的应用程序占用的内存资源。
本实施例中,如果应用程序运行所需的内存资源大于预设内存资源,再进一步判断所述应用程序运行所需的内存资源是否小于内存的可用内存资源,如果所述应用程序运行所需的内存资源小于内存的可用内存资源,说明目前内存所有的可用内存资源能满足启动所述应用程序所需的内存资源要求,则执行内存碎片化整理,将碎片化的内存资源整理为可为所述应用程序可用的连续可用内存资源,以保障应用程序的正常运行。
可选地,如果所述应用程序运行所需的内存资源大于或等于内存的可用内存资源,即使执行内存碎片化整理,内存的可用内存资源也不会增加。为了保证应用程序能够正常运行,可以释放用户现在不用的应用程序占用的内存资源来增加内存的可用内存资源。
其中,在释放用户现在不用的应用程序的内存资源前,还包括:判断用户在当前时间不会使用的使用程序,则可以释放该些应用程序的内存资源,例如,在用户上班时间不会使用游戏、视频等应用程序,则可以释放该应用程序的内存资源以增加可用的空闲内存资源。其中,判断用户在当前时间不会使用的使用程序可以是根据用户的历史行为来判断。
本实施例提供的内存碎片整理的方法,通过预测在当前时刻后的预设时间段内用户可能启动的应用程序;判断所述应用程序运行所需的内存资源是否小于内存的可用内存资源。若是,则执行内存碎片整理,若否,则执行释放当前无需使用的应用程序占用的内存资源。保证内存的可用资源能够满足应用程序运行所需的要求,保证应用程序运行的启动迅速、流畅性好,提高用户的体验。
图5为本申请一实施例提供的内存碎片整理的装置的结构示意图,如图5所示,本实施例提供的内存碎片整理装置包括:预测模块501和处理模块502。
其中,预测模块501,用于预测在当前时刻后的预设时间段内用户可能启动的应用程序。
处理模块502,用于根据所述内存的碎片化状态,执行内存碎片整理。
在一种可能的实现方式中,本申请实施例的内存碎片整理装置还可以包括获取模块503。
获取模块503,用于在所述处理模块502执行内存碎片整理之前,获取所述内存的碎片化状态。
在一种可能的实现方式中,所述获取模块503,具体用于:分别获取所述内存的不同页数连续可用页框的数量;根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片化状态。
在一种可能的实现方式中,所述获取模块503,具体用于:根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片指数;其中,所述内存的碎片指数越大表示所述内存的碎片化状态越严重。
在一种可能的实现方式中,所述处理模块502,具体用于:若所述内存的碎片指数大于预设指数阈值,则执行内存碎片整理。
在一种可能的实现方式中,所述处理模块502,具体用于:若所述应用程序运行所需的内存资源小于内存的可用内存资源,则执行内存碎片整理。
在一种可能的实现方式中,所述处理模块502,还用于:若所述应用程序运行所需的内存资源大于内存的可用内存资源,则释放当前无需使用的应用程序占用的内存资源。
在一种可能的实现方式中,所述预设指数阈值与所述内存的大小有关。
在一种可能的实现方式中,所述预测模块501,具体用于:获取所述用户使用应用程序的历史行为;根据所述用户使用应用程序的历史行为,预测在当前时间后的预设时间段内的用户可能启动的应用程序。
本实施例提供的内存碎片整理的装置可用于执行图2至图4中任一所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请一实施例提供的电子设备的结构示意图,如图6所示,本实施例提供的电子设备包括:存储器601、处理器602和内存603,所述存储器601与所述处理器602耦合。
所述存储器601用于存储程序指令。
所述处理器602用于调用所述存储器601中的程序指令执行:
预测在当前时刻后的预设时间段内用户可能启动的应用程序;
若所述应用程序运行所需的内存资源大于预设内存资源,则执行内存603碎片整理。
在一种可能的实现方式中,所述处理器602在执行内存603碎片整理之前,还用于:
获取所述内存603的碎片化状态;
所述处理器602在执行内存603碎片整理时,具体用于:根据所述内存603的碎片化状态,执行内存603碎片整理。
在一种可能的实现方式中,所述处理器602在获取所述内存603的碎片化状态时,具体用于:
分别获取所述内存603的不同页数连续可用页框的数量;
根据所述内存603的不同页数连续可用页框的数量,确定所述内存603的碎片化状态。
在一种可能的实现方式中,所述处理器602在根据所述内存603的不同页数连续可用页框的数量,确定所述内存603的状态时,具体用于:
根据所述内存603的不同页数连续可用页框的数量,确定所述内存603的碎片指数;
其中,所述内存603的碎片指数越大表示所述内存603的碎片化状态越严重。
在一种可能的实现方式中,所述处理器602根据所述内存603的碎片化状态,执行内存603碎片整理时,具体用于:
若所述内存603的碎片指数大于预设指数阈值,则执行内存603碎片整理。
在一种可能的实现方式中,所述处理器602在执行内存603碎片整理时,具体用于:
若所述应用程序运行所需的内存资源小于内存603的可用内存资源,则执行内存603碎片整理。
在一种可能的实现方式中,所述处理器602还用于:
若所述应用程序运行所需的内存资源大于内存603的可用内存资源,则释放当前无需使用的应用程序占用的内存资源。
在一种可能的实现方式中,所述预设指数阈值与所述内存603的大小有关。
在一种可能的实现方式中,所述处理器602预测在当前时刻后的预设时间段内的用户可能启动的应用程序时,具体用于:
获取所述用户使用应用程序的历史行为;
根据所述用户使用应用程序的历史行为,预测在当前时间后的预设时间段内的用户可能启动的应用程序。
本实施例提供的电子设备可用于执行图2至图4所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7是本申请一实施例提供的电子设备800的框图。例如,内存碎片整理的电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
如图7所示,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为电子设备800的各种组件提供电力。电力组件806可以包括电源管理***,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在一些实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在一些实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种内存碎片整理的方法,其特征在于,包括:
预测在当前时刻后的预设时间段内用户可能启动的应用程序;
若所述应用程序运行所需的内存资源大于预设内存资源,则执行内存碎片整理。
2.根据权利要求1所述的方法,其特征在于,所述执行内存碎片整理之前,还包括:
获取所述内存的碎片化状态;
所述执行内存碎片整理,包括:根据所述内存的碎片化状态,执行内存碎片整理。
3.根据权利要求2所述的方法,其特征在于,所述获取所述内存的碎片化状态,包括:
分别获取所述内存的不同页数连续可用页框的数量;
根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片化状态。
4.根据权利要求3所述的方法,其特征在于,所述根据所述内存的不同页数连续可用页框的数量,确定所述内存的状态,包括:
根据所述内存的不同页数连续可用页框的数量,确定所述内存的碎片指数;
其中,所述内存的碎片指数越大表示所述内存的碎片化状态越严重。
5.根据权利要求4所述的方法,其特征在于,所述根据所述内存的碎片化状态,执行内存碎片整理,包括:
若所述内存的碎片指数大于预设指数阈值,则执行内存碎片整理。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述执行内存碎片整理,包括:
若所述应用程序运行所需的内存资源小于内存的可用内存资源,则执行内存碎片整理。
7.根据权利要求6所述的方法,其特征在于,还包括:
若所述应用程序运行所需的内存资源大于内存的可用内存资源,则释放当前无需使用的应用程序占用的内存资源。
8.一种内存碎片整理的装置,其特征在于,包括:
预测模块,用于预测在当前时刻后的预设时间段内用户可能启动的应用程序;
处理模块,用于若所述应用程序运行所需的内存资源大于预设内存资源,则执行内存碎片整理。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器与所述处理器耦合;
所述存储器用于存储程序指令;
所述处理器用于调用所述存储器中的程序指令执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序在被执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220114.6A CN110968523A (zh) | 2019-12-03 | 2019-12-03 | 内存碎片整理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911220114.6A CN110968523A (zh) | 2019-12-03 | 2019-12-03 | 内存碎片整理的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110968523A true CN110968523A (zh) | 2020-04-07 |
Family
ID=70032637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911220114.6A Pending CN110968523A (zh) | 2019-12-03 | 2019-12-03 | 内存碎片整理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968523A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930739A (zh) * | 2020-06-22 | 2020-11-13 | 中国建设银行股份有限公司 | 表空间碎片化的自动处理方法、***、设备和存储介质 |
CN111949563A (zh) * | 2020-08-12 | 2020-11-17 | 上海龙旗科技股份有限公司 | 用于内存碎片整理的方法与设备 |
CN116661988A (zh) * | 2022-12-29 | 2023-08-29 | 荣耀终端有限公司 | 内存的规整方法、电子设备及可读存储介质 |
-
2019
- 2019-12-03 CN CN201911220114.6A patent/CN110968523A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930739A (zh) * | 2020-06-22 | 2020-11-13 | 中国建设银行股份有限公司 | 表空间碎片化的自动处理方法、***、设备和存储介质 |
CN111949563A (zh) * | 2020-08-12 | 2020-11-17 | 上海龙旗科技股份有限公司 | 用于内存碎片整理的方法与设备 |
CN116661988A (zh) * | 2022-12-29 | 2023-08-29 | 荣耀终端有限公司 | 内存的规整方法、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3454192B1 (en) | Method and device for displaying page | |
CN108762839B (zh) | 应用程序的界面显示方法及装置 | |
EP3188066B1 (en) | A method and an apparatus for managing an application | |
US9588805B2 (en) | Method and terminal device for controlling background application | |
CN105955765B (zh) | 应用预加载方法及装置 | |
CN105338409B (zh) | 一种网络视频预加载方法及装置 | |
CN104050035B (zh) | 应用程序的处理方法及装置 | |
CN107193653B (zh) | 带宽资源分配方法、装置及存储介质 | |
CN105912450B (zh) | 应用的状态信息显示方法及装置 | |
CN110262692B (zh) | 一种触摸屏扫描方法、装置及介质 | |
CN110968523A (zh) | 内存碎片整理的方法和装置 | |
EP3015983A1 (en) | Method and device for optimizing memory | |
US9678868B2 (en) | Method and device for optimizing memory | |
CN109634762B (zh) | 一种数据回收方法、装置、电子设备及存储介质 | |
CN111580980B (zh) | 内存管理方法和装置 | |
CN105786561B (zh) | 进程调用的方法及装置 | |
CN112307229A (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
CN112083841B (zh) | 信息输入方法、装置和存储介质 | |
CN114077461A (zh) | 应用程序的运行方法、装置、设备及存储介质 | |
CN111722919B (zh) | 运行后台应用程序的方法、装置、存储介质及电子设备 | |
CN110008135B (zh) | 一种信息处理方法、装置及电子设备 | |
CN114253385A (zh) | 移动终端的功耗管理方法、装置及计算机可读存储介质 | |
CN114115768A (zh) | 控制方法及装置 | |
CN105893146B (zh) | 内存处理方法及装置 | |
CN111414245B (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 |