内存压缩方法、装置及电子设备制造方法及图纸

技术编号:24707745 阅读:26 留言:0更新日期:2020-06-30 23:56
本申请公开了一种内存压缩方法、装置及电子设备,涉及计算机技术领域。其中,该方法包括:当内存不足时,确定待压缩的内存页面;确定需要实时处理的目标线程;判断待压缩的内存页面是否与目标线程关联;若否,则对待压缩的内存页面进行压缩。如此,可以避免目标线程使用内存时解压缩内存页面中的数据所导致的应用卡顿的问题。

【技术实现步骤摘要】
内存压缩方法、装置及电子设备
本申请涉及计算机
,更具体地,涉及一种内存压缩方法、装置及电子设备。
技术介绍
在电子设备的内存不足时,通常需要对内存进行压缩。然而,现有的内存压缩方法,容易导致一些应用出现卡顿等问题。
技术实现思路
鉴于上述问题,本申请提出了一种内存压缩方法、装置及电子设备,用以改善上述问题。第一方面,本申请实施例提供了一种内存压缩方法,包括:当内存不足时,确定待压缩的内存页面;确定需要实时处理的目标线程;判断所述待压缩的内存页面是否与所述目标线程关联;若所述待压缩的内存页面没有与所述目标线程关联,则对所述待压缩的内存页面进行压缩。第二方面,本申请实施例提供了一种内存压缩装置,包括:确定模块、判断模块以及压缩模块。其中,所述确定模块用于当内存不足时,确定待压缩的内存页面,以及确定需要实时处理的目标线程。所述判断模块用于判断所述待压缩的内存页面是否与所述目标线程关联。所述压缩模块用于当所述待压缩的内存页面没有与所述目标线程关联时,对所述待压缩的内存页面进行压缩。第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其中存储有程序代码,所述程序代码可被处理器调用执行如上所述的方法。相对于现有技术,本申请提供的方案,可以在确定待压缩的内存页面后,判断该待压缩的内存页面是否与需要实时处理的目标线程相关联,如果否,再对该待压缩的内存页面进行压缩处理。如此,可以避免目标线程使用内存时解压缩内存页面中的数据所导致的应用卡顿的问题。本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本申请实施例提供的电子设备的方框示意图。图2示出了根据本申请一个实施例的内存压缩方法的流程示意图。图3示出了根据本申请另一个实施例的内存压缩方法的一种流程示意图。图4示出了图3所示步骤S210的子步骤示意图。图5示出了图3所示步骤S260的一种子步骤示意图。图6A示出了图3所示实施例中的第一数据的一种示意图。图6B示出了图3所示实施例中的第二数据的一种示意图。图7示出了图3所示步骤S260的另一种子步骤示意图。图8示出了图3所示实施例中内存压缩方法的另一种流程示意图。图9示出了本申请实施例提供的一种内存压缩装置的框图。图10是本申请实施例的用于保存或者携带实现根据本申请实施例的内存压缩方法的程序代码的存储单元。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。电子设备的内存可以被划分为多个内存页面(page),并可以以内存页面为单位,对内存进行管理。一个内存页面通常为512~8k字节(Byte)。每个内存页面具有物理内存地址,该物理内存地址与一虚拟内存地址对应,电子设备的处理器可以通过虚拟内存地址来间接地访问对应的物理内存地址,从而访问该物理内存地址对应的内存页面中的数据。每个内存页面可以与一个或多个线程关联,当所述线程访问内存页面对应的虚拟内存地址时,则可以访问到该内存页面中的数据。实际应用中,当内存不足的时候,可以对一些内存页面进行压缩,例如,选择对最近最少使用(LeastRecentlyUsed)的内存页面进行压缩,以释放一部分内存空间,并在需要使用这些内存页面中的数据时,再进行解压缩。然而,解压缩的过程需要耗费一定性能和时间,对于一些实时性要求较高的线程,可能导致该线程出现卡顿,进而导致该线程对于的应用出现卡顿。专利技术人经过长期的研究,提出一种内存压缩方法、装置及电子设备,可以避免线程在使用内存时进行内存解压缩处理所导致的卡顿问题。下面对该内容进行详细描述。请参照图1,图1为本申请实施例提供的电子设备的结构框图。电子设备100可以是智能手机、平板电脑、电子书、笔记本电脑、个人计算机(PersonalComputer,PC)等任意具有数据处理功能的设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120及一个或多个程序,其中一个或多个程序可以被存储在存储器120中,并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行下文描述的内存压缩方法。处理器110可以包括一个或多个处理核。处理器110利用各种借口和线路连接整个电子设备100的各个部分,通过运行或执行存储在存储器120内的执行、程序、代码集或指令集,以及调用存储在存储器120中的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(DigitalSignalProcessing,DSP)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、可编程逻辑阵列(ProgrammableLogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessingUnit,CPU)、图像处理器(GraphicsProcessingUnit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。存储器120可以包括随机存储器(RandomAccessMemory,RAM),也可以包括只读存储器(Read-OnlyMemory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储移动终端100在使用中所创建的数据(比如下文中的第一数据、第二数据)等。可以理解,图1所示结构仅为示例,电子设备100还可以包括比图1所示更多或更少的组件,或是具有与图1所示完全不同的配置。本申请实施例对此没有限制。请参阅图2,图2为本申请一实施例提供的一种内存压缩方法的流程示意图,该方法可以应用于图1所示的电子设备100。下面对该方法的步骤进行阐述。步骤S110,当内存不足时,确定待压缩的内存页面。本实施例中,电子设备100中每个应用的运行都需要占用一定的内本文档来自技高网
...

【技术保护点】
1.一种内存压缩方法,其特征在于,包括:/n当内存不足时,确定待压缩的内存页面;/n确定需要实时处理的目标线程;/n判断所述待压缩的内存页面是否与所述目标线程关联;/n若所述待压缩的内存页面没有与所述目标线程关联,则对所述待压缩的内存页面进行压缩。/n

【技术特征摘要】
1.一种内存压缩方法,其特征在于,包括:
当内存不足时,确定待压缩的内存页面;
确定需要实时处理的目标线程;
判断所述待压缩的内存页面是否与所述目标线程关联;
若所述待压缩的内存页面没有与所述目标线程关联,则对所述待压缩的内存页面进行压缩。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述待压缩的内存页面与所述目标线程关联,则不对所述待压缩的内存页面进行压缩。


3.根据权利要求1或2所述的方法,其特征在于,所述确定待压缩的内存页面,包括:
将不活跃匿名页面链表中的匿名页面确定为所述待压缩的内存页面。


4.根据权利要求3所述的方法,其特征在于,所述确定待压缩的内存页面,还包括:
将活跃匿名页面链表的尾部的目标数量个匿名页面确定为所述待压缩的内存页面。


5.根据权利要求1或2所述的方法,其特征在于,所述确定需要实时处理的目标线程包括以下步骤中的至少一者:
将用户界面线程确定为所述目标线程;
将实时线程确定为所述目标线程。


6.根据权利要求1或2所述的方法,其特征在于,所述判断所述待压缩的内存页面是否与所述目标线程关联,包括:
确定所述目标线程的页表,所述页表包括分别与不同内存页面对应的多个页表项;
从所述页表中查找是否存在与所述待压缩的内存页面对应的页表项;
若所述页表中不存在与所述待压缩的内存页面对应的页表项,则确定所述待压缩的内存页面没有与所述目标线程关联。


7.根据权利要求6所述的方法,其特征在于,所述对所述待压缩的内存页面进行压缩,包括:
获取所述待压缩的内存页面中的第一数据;
获取通过压缩算法处理所述第一数据的压缩结果,得到第二数据;
存储所述第二数据;
释放所述待压缩的内存页面。


8.根据权利要求7所述的方法,其特征在于,所述释放所述待压缩的内存页面之前,所述对所述待压缩的内存页面进行压缩,还包括:
确定所述待压缩的内存页面对应的页表项,所...

【专利技术属性】
技术研发人员:彭冬炜
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1