CN106055407B - 进程资源调整装置及方法 - Google Patents

进程资源调整装置及方法 Download PDF

Info

Publication number
CN106055407B
CN106055407B CN201610355144.8A CN201610355144A CN106055407B CN 106055407 B CN106055407 B CN 106055407B CN 201610355144 A CN201610355144 A CN 201610355144A CN 106055407 B CN106055407 B CN 106055407B
Authority
CN
China
Prior art keywords
resource
percentage
preset
memory
stack
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
CN201610355144.8A
Other languages
English (en)
Other versions
CN106055407A (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.)
Nubia Technology Co Ltd
Original Assignee
Nubia 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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201610355144.8A priority Critical patent/CN106055407B/zh
Publication of CN106055407A publication Critical patent/CN106055407A/zh
Application granted granted Critical
Publication of CN106055407B publication Critical patent/CN106055407B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开一种进程资源调整装置,包括:监控模块,用于监控各个进程的内存使用情况;第一调整模块,用于当进程的内存使用情况满足预置的第一调整条件时,将所述进程的第一进程资源转移至预置的补充资源区;第二调整模块,用于当所述进程的内存使用情况满足预置的第二调整条件时,将所述补充资源区中,所述进程的第二进程资源转移至所述进程的内存空间。本发明还公开一种进程资源调整方法。本发明实现了对进程占用内存的动态调整,避免了在进程占用内存超限时,导致进程的部分或全部进程资源被强制关闭,致使用户数据丢失,用户的使用体验大打折扣。

Description

进程资源调整装置及方法
技术领域
本发明涉及移动终端领域,尤其涉及一种进程资源调整装置及方法。
背景技术
Activity是安卓系统中的四大组件之一,可用于显示View(视图)。安卓系统的移动终端上的每一个显示页面,就是一个Activity。正在运行的Activity处在相应进程的栈的最顶端,处于活跃状态。当有新的Activity运行在移动终端的显示屏上时,原来的Activity就会被压入该栈的第二层栈空间。不管Activity当前处于栈中的哪一层,都有可能在系统认为内存不足时,被系统强制关闭。安卓系统中的每一个进程都有一个内存分配上限,如果进程在运行过程中,使用的内存超过了这个上限,会被系统视为内存泄漏,从而该进程会被系统强制关闭部分或全部进程资源,致使用户数据丢失,用户的使用体验大打折扣。
发明内容
本发明的主要目的在于提出一种进程资源调整装置及方法,旨在避免因进程占用内存超限而被强制关闭部分或全部进程资源,导致用户数据丢失,以及使用体验大打折扣的问题。
为实现上述目的,本发明提供一种进程资源调整装置,所述进程资源调整装置包括:
监控模块,用于监控各个进程的内存使用情况;
第一调整模块,用于当进程的内存使用情况满足预置的第一调整条件时,将所述进程的第一进程资源转移至预置的补充资源区;
第二调整模块,用于当所述进程的内存使用情况满足预置的第二调整条件时,将所述补充资源区中,所述进程的第二进程资源转移至所述进程的内存空间。
可选的,进程的内存使用情况包括内存使用量占内存分配上限的百分比;所述监控模块包括:
获取单元,用于获取各个进程当前的内存分配量,以及当前的内存使用量占相应的内存分配量的使用百分比;
计算单元,用于根据获取到的各个进程当前的内存分配量和使用百分比,以及预置的各个进程的内存分配上限,计算各个进程当前的内存使用量占相应的内存分配上限的百分比。
可选的,所述第一调整模块包括:
第一确定单元,用于当进程当前的内存使用量占相应的内存分配上限的百分比,大于或等于所述进程对应的预置的高位百分比时,将所述进程对应的栈中,处于栈底层、占整个栈的比例不大于预置的第一百分比的栈空间对应的进程资源,确定为所述进程的第一进程资源;
调出单元,用于将所述进程的第一进程资源从所述进程的堆中移出,并存储在所述补充资源区的堆栈中。
可选的,所述第二调整模块包括:
第二确定单元,用于当所述进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于所述进程对应的预置的低位百分比,且所述补充资源区中所述进程对应的进程资源的大小,与所述进程的内存分配上限的比例大于预置的第二百分比时,将所述补充资源区中,按照指定顺序依次选取的、总大小与所述进程的内存分配上限的比例小于或等于预置的第三百分比的一个或多个独立进程资源对应的进程资源,确定为所述进程的第二进程资源;
第一调回单元,用于将所述进程的第二进程资源从所述补充资源区的堆中移出,并存储在所述进程的堆栈中。
可选的,所述第二调整模块包括:
第二调回单元,用于当所述进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于所述进程对应的预置的低位百分比,且所述补充资源区中所述进程对应的进程资源的大小,与所述进程的内存分配上限的比例小于或等于预置的第二百分比时,将所述补充资源区中,所述进程对应的进程资源全部移出,并存储在所述进程的堆栈中。
为实现上述目的,本发明还提供一种进程资源调整方法,所述进程资源调整方法包括:
监控各个进程的内存使用情况;
当进程的内存使用情况满足预置的第一调整条件时,将所述进程的第一进程资源转移至预置的补充资源区;
当所述进程的内存使用情况满足预置的第二调整条件时,将所述补充资源区中,所述进程的第二进程资源转移至所述进程的内存空间。
可选的,进程的内存使用情况包括内存使用量占内存分配上限的百分比;所述监控各个进程的内存使用情况包括:
获取各个进程当前的内存分配量,以及当前的内存使用量占相应的内存分配量的使用百分比;
根据获取到的各个进程当前的内存分配量和使用百分比,以及预置的各个进程的内存分配上限,计算各个进程当前的内存使用量占相应的内存分配上限的百分比。
可选的,所述当进程的内存使用情况满足预置的第一调整条件时,将所述进程的第一进程资源转移至预置的补充资源区包括:
当进程当前的内存使用量占相应的内存分配上限的百分比,大于或等于所述进程对应的预置的高位百分比时,将所述进程对应的栈中,处于栈底层、占整个栈的比例不大于预置的第一百分比的栈空间对应的进程资源,确定为所述进程的第一进程资源;
将所述进程的第一进程资源从所述进程的堆中移出,并存储在所述补充资源区的堆栈中。
可选的,所述当所述进程的内存使用情况满足预置的第二调整条件时,将所述补充资源区中,所述进程的第二进程资源转移至所述进程的内存空间包括:
当所述进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于所述进程对应的预置的低位百分比,且所述补充资源区中所述进程对应的进程资源的大小,与所述进程的内存分配上限的比例大于预置的第二百分比时,将所述补充资源区中,按照指定顺序依次选取的、总大小与所述进程的内存分配上限的比例小于或等于预置的第三百分比的一个或多个独立进程资源对应的第二进程资源;
将所述进程的第二进程资源从所述补充资源区的堆中移出,并存储在所述进程的堆栈中。
可选的,所述当所述进程的内存使用情况满足预置的第二调整条件时,将所述补充资源区中,所述进程的第二进程资源转移至所述进程的内存空间包括:
当所述进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于所述进程对应的预置的低位百分比,且所述补充资源区中所述进程对应的进程资源的大小,与所述进程的内存分配上限的比例小于或等于预置的第二百分比时,将所述补充资源区中,所述进程对应的进程资源全部移出,并存储在所述进程的堆栈中。
本发明提出的进程资源调整装置及方法,通过监控各个进程当前的内存使用情况,在进程的内存使用情况满足预置的第一调整条件时,将进程的第一进程资源转移至预置的补充资源区,当进程的内存使用情况满足预置的第二调整条件时,将补充资源区中该进程的第二进程资源转移至该进程的内存空间,从而实现对进程的内存使用进行动态调整,以避免进程对内存的占用超过上限时,进程的部分或全部进程资源被强制关闭,造成用户数据丢失,用户的使用体验大打折扣。
附图说明
图1为实现本发明各个实施例一个移动终端的硬件结构示意图;
图2为如图1所示的移动终端的无线通信装置示意图;
图3为本发明进程资源调整装置第一实施例的功能模块示意图;
图4为图3中监控模块的功能模块示意图;
图5为本发明进程资源调整装置第二实施例中第一调整模块的功能模块示意图;
图6为本发明中一进程的堆栈示意图;
图7为本发明中进程资源调出前后的堆栈示意图;
图8为本发明进程资源调整装置第三实施例中第二调整模块的功能模块示意图;
图9为本发明进程资源调整装置第四实施例中第二调整模块的功能模块示意图;
图10为本发明进程资源调整方法第一实施例的流程示意图;
图11为图10中步骤S10的流程示意图;
图12为本发明进程资源调整方法第二实施例中进程资源调出的流程示意图;
图13为本发明进程资源调整方法第三实施例中进程资源调回的一个流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例一个移动终端的硬件结构示意图。
移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信装置或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生成并发送广播信号和/或广播相关信息的服务器或者接收之前生成的广播信号和/或广播相关信息并且将其发送给终端的服务器。广播信号可以包括TV广播信号、无线电广播信号、数据广播信号等等。而且,广播信号可以进一步包括与TV或无线电广播信号组合的广播信号。广播相关信息也可以经由移动通信网络提供,并且在该情况下,广播相关信息可以由移动通信模块112来接收。广播信号可以以各种形式存在,例如,其可以以数字多媒体广播(DMB)的电子节目指南(EPG)、数字视频广播手持(DVB-H)的电子服务指南(ESG)等等的形式而存在。广播接收模块111可以通过使用各种类型的广播装置接收信号广播。特别地,广播接收模块111可以通过使用诸如多媒体广播-地面(DMB-T)、数字多媒体广播-卫星(DMB-S)、数字视频广播-手持(DVB-H),前向链路媒体(MediaFLO@)的数据广播装置、地面数字广播综合服务(ISDB-T)等等的数字广播装置接收数字广播。广播接收模块111可以被构造为适合提供广播信号的各种广播装置以及上述数字广播装置。经由广播接收模块111接收的广播信号和/或广播相关信息可以存储在存储器160(或者其它类型的存储介质)中。
移动通信模块112将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块113支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
短程通信模块114是用于支持短程通信的模块。短程通信技术的一些示例包括蓝牙TM、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、紫蜂TM等等。
位置信息模块115是用于检查或获取移动终端的位置信息的模块。位置信息模块的典型示例是GPS(全球定位装置)。根据当前的技术,位置信息模块115计算来自三个或更多卫星的距离信息和准确的时间信息并且对于计算的信息应用三角测量法,从而根据经度、纬度和高度准确地计算三维当前位置信息。当前,用于计算位置和时间信息的方法使用三颗卫星并且通过使用另外的一颗卫星校正计算出的位置和时间信息的误差。此外,位置信息模块115能够通过实时地连续计算当前位置信息来计算速度信息。
A/V输入单元120用于接收音频或视频信号。A/V输入单元120可以包括相机121和麦克风122,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元151上。经相机121处理后的图像帧可以存储在存储器160(或其它存储介质)中或者经由无线通信单元110进行发送,可以根据移动终端的构造提供两个或更多相机121。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通信模块112发送到移动通信基站的格式输出。麦克风122可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏。
感测单元140检测移动终端100的当前状态,(例如,移动终端100的打开或关闭状态)、移动终端100的位置、用户对于移动终端100的接触(即,触摸输入)的有无、移动终端100的取向、移动终端100的加速或将速移动和方向等等,并且生成用于控制移动终端100的操作的命令或信号。例如,当移动终端100实施为滑动型移动电话时,感测单元140可以感测该滑动型电话是打开还是关闭。另外,感测单元140能够检测电源单元190是否提供电力或者接口单元170是否与外部装置耦接。
接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为“识别装置”)可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括显示单元151、音频输出模块152、警报单元153等等。
显示单元151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元151可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块152可以包括拾音器、蜂鸣器等等。
警报单元153可以提供输出以将事件的发生通知给移动终端100。典型的事件可以包括呼叫接收、消息接收、键信号输入、触摸输入等等。除了音频或视频输出之外,警报单元153可以以不同的方式提供输出以通知事件的发生。例如,警报单元153可以以振动的形式提供输出,当接收到呼叫、消息或一些其它进入通信(incoming communication)时,警报单元153可以提供触觉输出(即,振动)以将其通知给用户。通过提供这样的触觉输出,即使在用户的移动电话处于用户的口袋中时,用户也能够识别出各种事件的发生。警报单元153也可以经由显示单元151或音频输出模块152提供通知事件的发生的输出。
存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储已经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。另外,控制器180可以包括用于再现(或回放)多媒体数据的多媒体模块181,多媒体模块181可以构造在控制器180内,或者可以构造为与控制器180分离。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
至此,已经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信装置以及基于卫星的通信装置来操作。
现在将参考图2描述其中根据本发明的移动终端能够操作的通信装置。
这样的通信装置可以使用不同的空中接口和/或物理层。例如,由通信装置使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信装置(UMTS)(特别地,长期演进(LTE))、全球移动通信装置(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信装置,但是这样的教导同样适用于其它类型的装置。
参考图2,CDMA无线通信装置可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的装置可以包括多个BSC275。
每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子装置(BTS)或者其它等效术语。在这样的情况下,术语"基站"可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为"蜂窝站"。或者,特定BS270的各分区可以被称为多个蜂窝站。
如图2中所示,广播发射器(BT)295将广播信号发送给在装置内操作的移动终端100。如图1中所示的广播接收模块111被设置在移动终端100处以接收由BT295发送的广播信号。在图2中,示出了几个全球定位装置(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
在图2中,描绘了多个卫星300,但是可以理解的是,可以利用任何数目的卫星获得有用的定位信息。如图1中所示的位置信息模块115通常被构造为与卫星300配合以获得想要的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
作为无线通信装置的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
基于上述移动终端硬件结构、通信装置的结构,提出本发明装置及方法的各个实施例。
本发明进一步提供一种进程资源调整装置,如图3所示,示出了本发明进程资源调整装置第一实施例的功能模块示意图,进程资源调整装置包括:
监控模块400,用于监控各个进程的内存使用情况;
进程资源调整装置可设置在上述移动终端上,上述移动终端支持安卓系统。对于当前正在运行的多个进程,移动终端的监控模块400实时监控各个进程的内存使用情况,例如,进程当前已分配得到的内存分配量,当前的内存使用量占相应的内存分配量的使用百分比,进程当前的内存使用量,进程当前的内存使用量是否达到预置的内存分配上限等。其中,进程的内存分配量和当前的内存使用量占该内存分配量的使用百分比,能够通过移动终端系统实时获取得到;各个进程的内存分配上限是预先设置在移动终端上的,例如,可设置在出厂设置时的ROM(read-only memory,只读存储器)配置表中,因而也能够随时获取得到。本发明中的进程可以为打开页面时对应建立的进程,并以此为例进行说明。
进一步地,参照图4,在进程的内存使用情况包括内存使用量占内存分配上限的百分比时,监控模块400包括:
获取单元401,用于获取各个进程当前的内存分配量,以及当前的内存使用量占相应的内存分配量的使用百分比;
计算单元402,用于根据获取到的各个进程当前的内存分配量和使用百分比,以及预置的各个进程的内存分配上限,计算各个进程当前的内存使用量占相应的内存分配上限的百分比。
内存分配量是一个变量,取值为数据容量大小,单位可以为M(1024K字节)或K(1024字节)等,例如,内存分配量可以为20M。使用百分比是一个变量,取值为百分比值,例如,使用百分比可以为60%。
以一个进程为例,根据获取单元401获取到的该进程当前的内存分配量和使用百分比,通过计算单元402计算内存分配量与使用百分比的乘积,从而得到该进程当前的内存使用量;由于进程的内存分配上限是预先设置在移动终端上的,因而计算单元402可通过该进程的内存使用量与该进程的内存分配上限,计算得到该进程当前的内存使用量与其相应的内存分配上限的百分比。其他进程的内存使用量与相应的内存分配上限的百分比的计算方式与此类同,在此不再赘述。
第一调整模块500,用于当进程的内存使用情况满足预置的第一调整条件时,将进程的第一进程资源转移至预置的补充资源区;
第一调整条件用于规定,在进程的内存使用情况达到何种程度时,认为进程的内存使用量即将达到内存分配上限,此时第一调整模块500需要对该进程的进程资源进行调整,以缓解该进程对内存的使用。
在本实施例中,当进程当前的内存使用量占其相应的内存分配上限的百分比,达到第一调整条件的要求时,移动终端的第一调整模块500将该进程的第一进程资源,从该进程的内存存储区中移出,并存储在补充资源区的存储区中。其中,第一进程资源一般为进程的所有进程资源中,部分处于休眠状态的进程资源。补充资源区可以为内存中的一块独立的固定区域,由移动终端预先设置补充资源区在内存中的位置及大小。
第二调整模块600,用于当进程的内存使用情况满足预置的第二调整条件时,将补充资源区中,进程的第二进程资源转移至该进程的内存空间。
第二调整条件用于规定,在进程的内存使用情况达到何种程度时,认为进程对内存的占用比较宽松,此时第二调整模块600可将补充资源区中属于该进程的进程资源,调回该进程的内存存储区,以充分利用该进程已分配到的内存资源。
本发明提出的进程资源调整装置,通过监控各个进程当前的内存使用情况,在进程的内存使用情况满足预置的第一调整条件时,将进程的第一进程资源转移至预置的补充资源区,当进程的内存使用情况满足预置的第二调整条件时,将补充资源区中该进程的第二进程资源转移至该进程的内存空间,从而实现对进程的内存使用进行动态调整,以避免进程对内存的占用超过上限时,进程的部分或全部进程资源被强制关闭,造成用户数据丢失,用户的使用体验大打折扣。
进一步地,基于第一实施例提出本发明进程资源调整装置第二实施例,本实施例与上述进程资源调整装置第一实施例的区别在于,本实施例是将进程的堆栈中最近未使用的部分进程资源转移至预置的补充资源区。在本实施例中,参照图5,第一调整模块500包括:
第一确定单元501,用于当进程当前的内存使用量占相应的内存分配上限的百分比,大于或等于该进程对应的预置的高位百分比时,将该进程对应的栈中,处于栈底层、占整个栈的比例不大于预置的第一百分比的栈空间对应的进程资源,确定为该进程的第一进程资源;
各个进程的高位百分比、低位百分比均预先设置在移动终端上,例如,设置在ROM配置表中。高位百分比和低位百分比均为百分比值,例如,一个进程的高位百分比可以设置为80%,低位百分比可设置为20%。进程的高位百分比用于界定进程当前的内存使用情况是否即将超过内存分配上限,进程的低位百分比用于界定进程当前的内存使用情况是否很宽松。不同进程的高位百分比、低位百分比可不相同。
第一百分比是预先设置的一个比例值,例如,第一百分比可以为80%。参照图6,图6为一个进程的堆栈示意图,假设该进程打开了3个页面,相应地在该进程的栈中存储有3个堆访问地址,一个堆访问地址占据该栈的一个栈空间;这3个堆访问地址对应的堆中,分别存储了这3个页面的数据文件,一个页面的数据文件即为一个独立进程资源。可以看出,在该进程的栈中,由于页面1最先打开,因而在打开页面2时,页面1处于页面2的下层栈空间中,页面1处于休眠状态,页面2处于活跃状态;当打开页面3时,页面3处于页面2的上层栈空间中,页面1和页面2处于休眠状态,页面3处于活跃状态。
假设该进程当前的内存使用量占该进程相应的内存分配上限的百分比,大于或等于该进程对应的高位百分比,此时,第一确定单元501可将该进程对应的栈中,处于栈底层、占整个栈的比例不大于80%的栈空间对应的进程资源,例如,页面1和页面2对应的进程资源,确定为该进程的第一进程资源。
调出单元502,用于将该进程的第一进程资源从该进程的堆中移出,并存储在补充资源区的堆栈中。
确定出第一进程资源后,调出单元502将页面1和页面2对应的进程资源,即该进程的堆中存储的页面1和页面2的数据文件,从该进程的堆中移出,并以页面为单位,将该进程的页面1和页面2的进程资源分别存储在补充资源区的堆栈中,如图7所示。其中,补充资源区是预先建立的一个进程对应的内存存储区,补充资源区以堆栈的形式存储数据。
本发明提出的进程资源调整装置,在需要将进程的部分进程资源调出时,将该进程的栈中,处于栈底层、占整个栈一定比例栈空间的页面对应的进程资源,从该进程的堆中移出,并存储在补充资源区的堆栈中,以实现在调整进程的进程资源时,将进程最近未使用的进程资源优先调出,以尽可能地不影响用户当前打开的页面的使用。
进一步地,基于第二实施例提出本发明进程资源调整装置第三实施例,本实施例与上述进程资源调整装置第二实施例的区别在于,本实施例是在补充资源区中,进程对应的进程资源,占该进程的内存分配上限的比例较大时,将补充资源区中该进程对应的部分进程资源,先调回该进程的堆栈中。在本实施例中,参照图8,第二调整模块600包括:
第二确定单元601,用于当进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于该进程对应的预置的低位百分比,且补充资源区中该进程对应的进程资源的大小,与该进程的内存分配上限的比例大于预置的第二百分比时,将补充资源区中,按照指定顺序依次选取的、总大小与所述进程的内存分配上限的比例小于或等于预置的第三百分比的一个或多个独立进程资源对应的进程资源,确定为该进程的第二进程资源;
当进程当前的内存使用量占该进程相应的内存分配上限的百分比,小于或等于该进程对应的低位百分比时,第二调整模块600需要对该进程在补充资源区中的进程资源调回。然而,考虑到将该进程在补充资源区中的进程资源全部调回后,可能由于调回部分的进程资源较大,以致在进程资源调回后,该进程的内存使用量占该进程相应的内存分配上限的百分比,满足大于或等于该进程对应的高位百分比的条件,而需要在进程资源调回后立刻又需要调出,因而,在从补充资源区中调回该进程的进程资源时,可通过指定的百分比为限制,如预先设置的第三百分比,将补充资源区中,该进程对应的进程资源进行部分调回。
为了避免调回的部分进程资源,造成该进程需要继续进行进程资源调出,可限制在补充资源区中该进程对应的进程资源的大小,与该进程的内存分配上限的比例大于预置的第二百分比,例如50%时,第二确定单元601按照补充资源区中该进程的进程资源对应的页面,在该进程的栈中的原有顺序(在栈中从上到下的顺序进行逆序排号),将排号最大的一个或多个页面对应的进程资源,确定为第二进程资源。其中,第二百分比为预先设置的一个百分比值一个页面对应的进程资源(即数据文件)即为一个独立进程资源。
在第二确定单元601确定第二进程资源时,假设一个进程在补充资源区的进程资源对应有3个页面,分别为页面3、页面2、页面1,对应的排号分别为3、2、1,如果限定该进程在补充资源区的进程资源中,可调回的页面的进程资源的大小最多不能超过该进程的内存分配上限的第三百分比时,假设页面3和页面2的进程资源大小的总和,小于该进程的内存分配上限的第三百分比,但页面3、页面2、页面1的进程资源大小的总和,大于或等于该进程的内存分配上限的第三百分比,则第二确定单元601只能将页面3和页面2对应的进程资源,确定为第二进程资源。其中,第三百分比为预先设置的一个百分比值,例如,第三百分比可取值为30%。
第一调回单元602,用于将该进程的第二进程资源从补充资源区的堆中移出,并存储在该进程的堆栈中。
在确定出第二进程资源后,第一调回单元602可将补充资源区中,该进程的第二进程资源从补充资源区的堆中移出,并存储在该进程的堆栈中,且调回的进程资源以页面为单位、以在该进程的栈中的原有顺序进行相应存储。
本发明提出的进程资源调整装置,在进程当前的内存使用量占其相应的内存分配上限的百分比,小于或等于进程对应的低位百分比时,对于补充资源区中该进程的进程资源的大小,与该进程的内存分配上限相比较大时,将补充资源区中该进程的部分进程资源调回,以避免全部进程资源都调回时,导致进程当前的内存使用情况又满足调出条件而需要继续调出,保证了进程资源调整的合理性及效率。
进一步地,基于第三实施例提出本发明进程资源调整装置第四实施例,本实施例与上述进程资源调整装置第三实施例的区别在于,本实施例是在补充资源区中,进程对应的进程资源,占该进程的内存分配上限的比例较小时,将补充资源区中该进程对应的进程资源,全部调回该进程的堆栈中。参照图9,在本实施例中,第二调整模块600还包括:
第二调回单元603,用于当进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于该进程对应的预置的低位百分比,且补充资源区中该进程对应的进程资源的大小,与该进程的内存分配上限的比例小于或等于预置的第二百分比时,将补充资源区中,该进程对应的进程资源全部移出,并存储在该进程的堆栈中。
当进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于该进程对应的低位百分比时,第二调整模块600需要对该进程在补充资源区中的进程资源调回。由于补充资源区中该进程对应的进程资源的大小,与该进程的内存分配上限的比例小于或等于预置的第二百分比,则认为补充资源区中该进程对应的进程资源较少,即使全部调回,也不会导致该进程的内存使用量占相应的内存分配上限的百分比,达到需要调出的条件,因而,此时,第二调回单元603可将该进程在补充资源区的所有进程资源全部移出,并存储在该进程的堆栈中。
本发明提出的进程资源调整装置,在进程当前的内存使用量占其相应的内存分配上限的百分比,小于或等于进程对应的低位百分比时,对于补充资源区中该进程的进程资源的大小,与该进程的内存分配上限相比较小时,将补充资源区中该进程的进程资源全部调回,即不会导致调回后该进程当前的内存使用情况满足调出条件,又能充分利用进程已分配到的内存空间,提高了进程对内存的使用率。
本发明进一步还提供一种进程资源调整方法,如图10所示,示出了本发明进程资源调整方法第一实施例的流程示意图,对应上述进程资源调整装置第一实施例。在本实施例中,进程资源调整方法包括:
S10、监控各个进程的内存使用情况;
进程资源调整方法可应用于上述移动终端,上述移动终端支持安卓系统。对于当前正在运行的多个进程,移动终端实时监控各个进程的内存使用情况,例如,进程当前已分配得到的内存分配量,当前的内存使用量占相应的内存分配量的使用百分比,进程当前的内存使用量,进程当前的内存使用量是否达到预置的内存分配上限等。其中,进程的内存分配量和当前的内存使用量占该内存分配量的使用百分比,能够通过移动终端系统实时获取得到;各个进程的内存分配上限是预先设置在移动终端上的,例如,可设置在出厂设置时的ROM(read-only memory,只读存储器)配置表中,因而也能够随时获取得到。本发明中的进程可以为打开页面时对应建立的进程,并以此为例进行说明。
进一步地,参照图11,在进程的内存使用情况包括内存使用量占内存分配上限的百分比时,上述步骤S10具体包括:
S11、获取各个进程当前的内存分配量,以及当前的内存使用量占相应的内存分配量的使用百分比;
S12、根据获取到的各个进程当前的内存分配量和使用百分比,以及预置的各个进程的内存分配上限,计算各个进程当前的内存使用量占相应的内存分配上限的百分比。
内存分配量是一个变量,取值为数据容量大小,单位可以为M(1024K字节)或K(1024字节)等,例如,内存分配量可以为20M。使用百分比是一个变量,取值为百分比值,例如,使用百分比可以为60%。
以一个进程为例,根据获取到的该进程当前的内存分配量和使用百分比,通过计算内存分配量与使用百分比的乘积,从而得到该进程当前的内存使用量;由于进程的内存分配上限是预先设置在移动终端上的,因而可通过该进程的内存使用量与该进程的内存分配上限,计算得到该进程当前的内存使用量与其相应的内存分配上限的百分比。其他进程的内存使用量与相应的内存分配上限的百分比的计算方式与此类同,在此不再赘述。
S20、当进程的内存使用情况满足预置的第一调整条件时,将该进程的第一进程资源转移至预置的补充资源区;
第一调整条件用于规定,在进程的内存使用情况达到何种程度时,认为进程的内存使用量即将达到内存分配上限,此时需要对该进程的进程资源进行调整,以缓解该进程对内存的使用。
在本实施例中,当进程当前的内存使用量占其相应的内存分配上限的百分比,达到第一调整条件的要求时,移动终端将该进程的第一进程资源,从该进程的内存存储区中移出,并存储在补充资源区的存储区中。其中,第一进程资源一般为进程的所有进程资源中,部分处于休眠状态的进程资源。补充资源区可以为内存中的一块独立的固定区域,由移动终端预先设置补充资源区在内存中的位置及大小。
S30、当进程的内存使用情况满足预置的第二调整条件时,将补充资源区中,该进程的第二进程资源转移至该进程的内存空间。
第二调整条件用于规定,在进程的内存使用情况达到何种程度时,认为进程对内存的占用比较宽松,此时可将补充资源区中属于该进程的进程资源,调回该进程的内存存储区,以充分利用该进程已分配到的内存资源。
本发明提出的进程资源调整方法,通过监控各个进程当前的内存使用情况,在进程的内存使用情况满足预置的第一调整条件时,将进程的第一进程资源转移至预置的补充资源区,当进程的内存使用情况满足预置的第二调整条件时,将补充资源区中该进程的第二进程资源转移至该进程的内存空间,从而实现对进程的内存使用进行动态调整,以避免进程对内存的占用超过上限时,进程的部分或全部进程资源被强制关闭,造成用户数据丢失,用户的使用体验大打折扣。
进一步地,基于上述第一实施例提出本发明进程资源调整方法第二实施例,对应上述进程资源调整装置第二实施例,本实施例与上述进程资源调整方法第一实施例的区别在于,本实施例是将进程的堆栈中最近未使用的部分进程资源转移至预置的补充资源区。在本实施例中,参照图12,上述步骤S20具体包括:
S21、当进程当前的内存使用量占相应的内存分配上限的百分比,大于或等于该进程对应的预置的高位百分比时,将该进程对应的栈中,处于栈底层、占整个栈的比例不大于预置的第一百分比的栈空间对应的进程资源,确定为该进程的第一进程资源;
各个进程的高位百分比、低位百分比均预先设置在移动终端上,例如,设置在ROM配置表中。高位百分比和低位百分比均为百分比值,例如,一个进程的高位百分比可以设置为80%,低位百分比可设置为20%。进程的高位百分比用于界定进程当前的内存使用情况是否即将超过内存分配上限,进程的低位百分比用于界定进程当前的内存使用情况是否很宽松。不同进程的高位百分比、低位百分比可不相同。
第一百分比是预先设置的一个比例值,例如,第一百分比可以为80%。参照图6,图6为一个进程的堆栈示意图,假设该进程打开了3个页面,相应地在该进程的栈中存储有3个堆访问地址,一个堆访问地址占据该栈的一个栈空间;这3个堆访问地址对应的堆中,分别存储了这3个页面的数据文件,一个页面的数据文件即为一个独立进程资源。可以看出,在该进程的栈中,由于页面1最先打开,因而在打开页面2时,页面1处于页面2的下层栈空间中,页面1处于休眠状态,页面2处于活跃状态;当打开页面3时,页面3处于页面2的上层栈空间中,页面1和页面2处于休眠状态,页面3处于活跃状态。
假设该进程当前的内存使用量占该进程相应的内存分配上限的百分比,大于或等于该进程对应的高位百分比,此时,可将该进程对应的栈中,处于栈底层、占整个栈的比例不大于80%的栈空间对应的进程资源,例如,页面1和页面2对应的进程资源,确定为该进程的第一进程资源。
S22、将进程的第一进程资源从该进程的堆中移出,并存储在补充资源区的堆栈中。
确定出第一进程资源后,将页面1和页面2对应的进程资源,即该进程的堆中存储的页面1和页面2的数据文件,从该进程的堆中移出,并以页面为单位,将该进程的页面1和页面2的进程资源分别存储在补充资源区的堆栈中,如图7所示。其中,补充资源区是预先建立的一个进程对应的内存存储区,补充资源区以堆栈的形式存储数据。
本发明提出的进程资源调整方法,在需要将进程的部分进程资源调出时,将该进程的栈中,处于栈底层、占整个栈一定比例栈空间的页面对应的进程资源,从该进程的堆中移出,并存储在补充资源区的堆栈中,以实现在调整进程的进程资源时,将进程最近未使用的进程资源优先调出,以尽可能地不影响用户当前打开的页面的使用。
进一步地,基于上述第二实施例提出本发明进程资源调整方法第三实施例,对应上述进程资源调整装置第三实施例,本实施例与上述进程资源调整方法第二实施例的区别在于,本实施例是在补充资源区中,进程对应的进程资源,占该进程的内存分配上限的比例较大时,将补充资源区中该进程对应的部分进程资源,先调回该进程的堆栈中。在本实施例中,参照图13,上述步骤S30包括:
S31、当进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于该进程对应的预置的低位百分比,且补充资源区中该进程对应的进程资源的大小,与该进程的内存分配上限的比例大于预置的第二百分比时,将补充资源区中,按照指定顺序依次选取的、总大小与所述进程的内存分配上限的比例小于或等于预置的第三百分比的一个或多个独立进程资源对应的进程资源,确定为该进程的第二进程资源;
当进程当前的内存使用量占该进程相应的内存分配上限的百分比,小于或等于该进程对应的低位百分比时,需要对该进程在补充资源区中的进程资源调回。然而,考虑到将该进程在补充资源区中的进程资源全部调回后,可能由于调回部分的进程资源较大,以致在进程资源调回后,该进程的内存使用量占该进程相应的内存分配上限的百分比,满足大于或等于该进程对应的高位百分比的条件,而需要在进程资源调回后立刻又需要调出,因而,在从补充资源区中调回该进程的进程资源时,可通过指定的百分比为限制,如预先设置的第三百分比,将补充资源区中,该进程对应的进程资源进行部分调回。
为了避免调回的部分进程资源,造成该进程需要继续进行进程资源调出,可限制在补充资源区中该进程对应的进程资源的大小,与该进程的内存分配上限的比例大于预置的第二百分比,例如50%时,按照补充资源区中该进程的进程资源对应的页面,在该进程的栈中的原有顺序(在栈中从上到下的顺序进行逆序排号),将排号最大的一个或多个页面对应的进程资源,确定为第二进程资源。其中,第二百分比为预先设置的一个百分比值;一个页面对应的进程资源(即数据文件)即为一个独立进程资源。
在确定第二进程资源时,假设一个进程在补充资源区的进程资源对应有3个页面,分别为页面3、页面2、页面1,对应的排号分别为3、2、1,如果限定该进程在补充资源区的进程资源中,可调回的页面的进程资源的大小最多不能超过该进程的内存分配上限的第三百分比时,假设页面3和页面2的进程资源大小的总和,小于该进程的内存分配上限的第三百分比,但页面3、页面2、页面1的进程资源大小的总和,大于或等于该进程的内存分配上限的第三百分比,则只能将页面3和页面2对应的进程资源,确定为第二进程资源。其中,第三百分比为预先设置的一个百分比值,例如,第三百分比可取值为30%。
S32、将该进程的第二进程资源从补充资源区的堆中移出,并存储在该进程的堆栈中。
在确定出第二进程资源后,可将补充资源区中,该进程的第二进程资源从补充资源区的堆中移出,并存储在该进程的堆栈中,且调回的进程资源以页面为单位、以在该进程的栈中的原有顺序进行相应存储。
本发明提出的进程资源调整方法,在进程当前的内存使用量占其相应的内存分配上限的百分比,小于或等于进程对应的低位百分比时,对于补充资源区中该进程的进程资源的大小,与该进程的内存分配上限相比较大时,将补充资源区中该进程的部分进程资源调回,以避免全部进程资源都调回时,导致进程当前的内存使用情况又满足调出条件而需要继续调出,保证了进程资源调整的合理性及效率。
进一步地,基于上述第三实施例提出本发明进程资源调整方法第四实施例,对应上述进程资源调整装置第四实施例,本实施例与上述进程资源调整方法第三实施例的区别在于,本实施例是在补充资源区中,进程对应的进程资源,占该进程的内存分配上限的比例较小时,将补充资源区中该进程对应的进程资源,全部调回该进程的堆栈中。在本实施例中,上述步骤S30还包括:
当进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于该进程对应的预置的低位百分比,且补充资源区中该进程对应的进程资源的大小,与该进程的内存分配上限的比例小于或等于预置的第二百分比时,将补充资源区中,该进程对应的进程资源全部移出,并存储在该进程的堆栈中。
当进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于该进程对应的低位百分比时,需要对该进程在补充资源区中的进程资源调回。由于补充资源区中该进程对应的进程资源的大小,与该进程的内存分配上限的比例小于或等于预置的第二百分比,则认为补充资源区中该进程对应的进程资源较少,即使全部调回,也不会导致该进程的内存使用量占相应的内存分配上限的百分比,达到需要调出的条件,因而,此时,可将该进程在补充资源区的所有进程资源全部移出,并存储在该进程的堆栈中。
本发明提出的进程资源调整方法,在进程当前的内存使用量占其相应的内存分配上限的百分比,小于或等于进程对应的低位百分比时,对于补充资源区中该进程的进程资源的大小,与该进程的内存分配上限相比较小时,将补充资源区中该进程的进程资源全部调回,即不会导致调回后该进程当前的内存使用情况满足调出条件,又能充分利用进程已分配到的内存空间,提高了进程对内存的使用率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种进程资源调整装置,其特征在于,所述进程资源调整装置包括:
监控模块,用于监控各个进程的内存使用情况;
第一调整模块,用于当进程的内存使用情况满足预置的第一调整条件时,将所述进程的第一进程资源转移至预置的补充资源区,第一进程资源为进程的所有进程资源中,处于休眠状态的进程资源;以及,
第二调整模块,用于当所述进程的内存使用情况满足预置的第二调整条件时,将所述补充资源区中,所述进程的第二进程资源转移至所述进程的内存空间;
其中,所述第二调整模块包括:
第二确定单元,用于当所述进程当前的内存使用量占相应的内存分配上限的百分比小于或等于所述进程对应的预置的低位百分比、且所述补充资源区中所述进程对应的进程资源的大小与所述进程的内存分配上限的比例大于预置的第二百分比时,将所述补充资源区中的一个或多个独立进程资源,按照指定顺序依次选取对应的进程资源,且所述对应的进程资源大小的总和与所述进程的内存分配上限的比例小于或等于预置的第三百分比,将所述对应的进程资源确定为所述进程的第二进程资源;其中,所述低位百分比为用于界定进程当前的内存使用情况是否宽松的预置的百分比值;以及,
第一调回单元,用于将所述进程的第二进程资源从所述补充资源区的堆栈中移出,并存储在所述进程的堆栈中。
2.如权利要求1所述的进程资源调整装置,其特征在于,进程的内存使用情况包括内存使用量占内存分配上限的百分比;所述监控模块包括:
获取单元,用于获取各个进程当前的内存分配量,以及当前的内存使用量占相应的内存分配量的使用百分比;
计算单元,用于根据获取到的各个进程当前的内存分配量和使用百分比,以及预置的各个进程的内存分配上限,计算各个进程当前的内存使用量占相应的内存分配上限的百分比。
3.如权利要求1或2所述的进程资源调整装置,其特征在于,所述第一调整模块包括:
第一确定单元,用于当进程当前的内存使用量占相应的内存分配上限的百分比,大于或等于所述进程对应的预置的高位百分比时,将所述进程对应的栈中,处于栈底层、占整个栈的比例不大于预置的第一百分比的栈空间对应的进程资源,确定为所述进程的第一进程资源,其中所述高位百分比为用于界定进程当前的内存使用情况是否即将超过内存分配上限的预置的百分比值;
调出单元,用于将所述进程的第一进程资源从所述进程的堆栈中移出,并存储在所述补充资源区的堆栈中。
4.如权利要求1或2所述的进程资源调整装置,其特征在于,所述第二调整模块包括:
第二调回单元,用于当所述进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于所述进程对应的预置的低位百分比,且所述补充资源区中所述进程对应的进程资源的大小,与所述进程的内存分配上限的比例小于或等于预置的第二百分比时,将所述补充资源区中,所述进程对应的进程资源全部移出,并存储在所述进程的堆栈中。
5.一种进程资源调整方法,其特征在于,所述进程资源调整方法包括:
监控各个进程的内存使用情况;
当进程的内存使用情况满足预置的第一调整条件时,将所述进程的第一进程资源转移至预置的补充资源区,其中,第一进程资源为进程的所有进程资源中,处于休眠状态的进程资源;
当所述进程当前的内存使用量占相应的内存分配上限的百分比小于或等于所述进程对应的预置的低位百分比、且所述补充资源区中所述进程对应的进程资源的大小与所述进程的内存分配上限的比例大于预置的第二百分比时,将所述补充资源区中的一个或多个独立进程资源,按照指定顺序依次选取对应的进程资源,且所述对应的进程资源大小的总和与所述进程的内存分配上限的比例小于或等于预置的第三百分比,将所述对应的进程资源确定为所述进程的第二进程资源;其中,所述低位百分比为用于界定进程当前的内存使用情况是否宽松的预置的百分比值;
将所述进程的第二进程资源从所述补充资源区的堆栈中移出,并存储在所述进程的堆栈中。
6.如权利要求5所述的进程资源调整方法,其特征在于,进程的内存使用情况包括内存使用量占内存分配上限的百分比;所述监控各个进程的内存使用情况包括:
获取各个进程当前的内存分配量,以及当前的内存使用量占相应的内存分配量的使用百分比;
根据获取到的各个进程当前的内存分配量和使用百分比,以及预置的各个进程的内存分配上限,计算各个进程当前的内存使用量占相应的内存分配上限的百分比。
7.如权利要求5或6所述的进程资源调整方法,其特征在于,所述当进程的内存使用情况满足预置的第一调整条件时,将所述进程的第一进程资源转移至预置的补充资源区包括:
当进程当前的内存使用量占相应的内存分配上限的百分比,大于或等于所述进程对应的预置的高位百分比时,将所述进程对应的栈中,处于栈底层、占整个栈的比例不大于预置的第一百分比的栈空间对应的进程资源,确定为所述进程的第一进程资源,其中所述高位百分比为用于界定进程当前的内存使用情况是否即将超过内存分配上限的预置的百分比值;
将所述进程的第一进程资源从所述进程的堆栈中移出,并存储在所述补充资源区的堆栈中。
8.如权利要求5或6所述的进程资源调整方法,其特征在于,所述当所述进程的内存使用情况满足预置的第二调整条件时,将所述补充资源区中,所述进程的第二进程资源转移至所述进程的内存空间包括:
当所述进程当前的内存使用量占相应的内存分配上限的百分比,小于或等于所述进程对应的预置的低位百分比,且所述补充资源区中所述进程对应的进程资源的大小,与所述进程的内存分配上限的比例小于或等于预置的第二百分比时,将所述补充资源区中,所述进程对应的进程资源全部移出,并存储在所述进程的堆栈中。
CN201610355144.8A 2016-05-25 2016-05-25 进程资源调整装置及方法 Active CN106055407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610355144.8A CN106055407B (zh) 2016-05-25 2016-05-25 进程资源调整装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610355144.8A CN106055407B (zh) 2016-05-25 2016-05-25 进程资源调整装置及方法

Publications (2)

Publication Number Publication Date
CN106055407A CN106055407A (zh) 2016-10-26
CN106055407B true CN106055407B (zh) 2020-02-07

Family

ID=57174538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610355144.8A Active CN106055407B (zh) 2016-05-25 2016-05-25 进程资源调整装置及方法

Country Status (1)

Country Link
CN (1) CN106055407B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019167157A1 (ja) * 2018-02-28 2019-09-06 三菱電機株式会社 リソース制御装置、リソース制御方法及びリソース制御プログラム
CN110930291B (zh) * 2019-11-15 2022-06-17 山东英信计算机技术有限公司 一种gpu显存管理控制方法及相关装置
CN111949492B (zh) * 2020-08-20 2023-01-06 深圳市锐尔觅移动通信有限公司 系统资源获取方法、装置及终端设备
CN118034901A (zh) * 2022-11-11 2024-05-14 华为技术有限公司 内存管理方法、装置和相关设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561486A (zh) * 2001-10-01 2005-01-05 甲骨文国际公司 动态和自动内存管理
CN103235744A (zh) * 2013-04-15 2013-08-07 中山大学 一种智能电视的应用资源管理系统
CN103544063A (zh) * 2013-09-30 2014-01-29 三星电子(中国)研发中心 应用于安卓平台的进程清除方法和装置
CN103617023A (zh) * 2013-11-20 2014-03-05 北京先进数通信息技术股份公司 一种系统垃圾资源的回收方法和装置
CN104714897A (zh) * 2013-12-13 2015-06-17 航天信息股份有限公司 一种android平台下基于缓存的列表处理方法
CN105046640A (zh) * 2015-05-14 2015-11-11 深圳市美贝壳科技有限公司 图片内存管理方法及装置
CN105373471A (zh) * 2014-08-29 2016-03-02 腾讯科技(深圳)有限公司 用于内存泄露漏洞的检测方法和装置
CN105573831A (zh) * 2014-10-13 2016-05-11 龙芯中科技术有限公司 数据转移方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561486A (zh) * 2001-10-01 2005-01-05 甲骨文国际公司 动态和自动内存管理
CN103235744A (zh) * 2013-04-15 2013-08-07 中山大学 一种智能电视的应用资源管理系统
CN103544063A (zh) * 2013-09-30 2014-01-29 三星电子(中国)研发中心 应用于安卓平台的进程清除方法和装置
CN103617023A (zh) * 2013-11-20 2014-03-05 北京先进数通信息技术股份公司 一种系统垃圾资源的回收方法和装置
CN104714897A (zh) * 2013-12-13 2015-06-17 航天信息股份有限公司 一种android平台下基于缓存的列表处理方法
CN105373471A (zh) * 2014-08-29 2016-03-02 腾讯科技(深圳)有限公司 用于内存泄露漏洞的检测方法和装置
CN105573831A (zh) * 2014-10-13 2016-05-11 龙芯中科技术有限公司 数据转移方法和装置
CN105046640A (zh) * 2015-05-14 2015-11-11 深圳市美贝壳科技有限公司 图片内存管理方法及装置

Also Published As

Publication number Publication date
CN106055407A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
CN105188098B (zh) 一种移动终端的网络切换装置和网络切换方法
CN106909274B (zh) 一种图像显示方法和装置
CN106304037B (zh) 虚拟sim卡的管理方法和装置
CN106844029B (zh) 一种自管理的Android进程冻结和解冻的装置及方法
CN105468158B (zh) 颜色调整方法及移动终端
CN106803860B (zh) 一种终端应用的存储处理方法和装置
CN106383647B (zh) 终端界面控制装置和方法
CN107066320B (zh) 一种Android进程冻结和解冻的装置及方法
CN104954553A (zh) 移动终端的分屏显示方法及装置
CN107066290B (zh) 一种根据关联策略启动应用的方法和装置
CN106097952B (zh) 一种终端显示屏分辨率调整方法和终端
CN106488420B (zh) 来电处理方法、装置、系统及可读存储介质
CN110928708B (zh) 图标显示方法、装置、电子设备及计算机可读存储介质
CN106055407B (zh) 进程资源调整装置及方法
CN106686687B (zh) 一种接入控制方法及装置
CN106231657B (zh) 双屏移动终端切换省电模式的方法及装置
CN109168029B (zh) 一种调整分辨率的方法、设备和计算机可存储介质
CN106161790B (zh) 一种移动终端及其控制方法
CN106897044B (zh) 屏幕色温一致性容错方法及终端
CN104639428B (zh) 即时通讯中会话场景的自适应方法和移动终端
CN104754131B (zh) 分屏界面标识的显示方法和系统
CN105094733B (zh) 分屏显示方法和装置
CN109041197B (zh) 终端的通信方法、终端及计算机可读存储介质
CN105307156B (zh) 一种应用请求下载的装置和方法
CN106900037B (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