一种基于移动终端的内存占用控制方法及系统与流程

文档序号:11154642阅读:199来源:国知局
一种基于移动终端的内存占用控制方法及系统与制造工艺

本发明涉及移动终端领域,尤其涉及的是一种基于移动终端的内存占用控制方法及系统。



背景技术:

移动终端越来越普及,移动终端中各项功能均需要通过各色各样的应用来实现;每个应用在使用过程中均需要消耗内存,当内存较大时,打开较多的应用影响不大,但在移动终端内存较小时则如果打开过多的但未使用的应用则会使内存被耗尽,从而使移动终端运行缓慢,甚至系统崩溃。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术中存在当打开应用后即使不运行也占用内存的问题,提供一种基于移动终端的内存占用控制方法及系统。提供了一种移动终端低内存模式的控制方法,旨在使应用打开但不在前台运行时能够减少内存的占用,以利于系统稳定、高效、快速的运行。

本发明解决技术问题所采用的技术方案如下:

一种基于移动终端的内存占用控制方法,其中,包括:

步骤A、预先建立应用程序堆栈;所述应用程序堆栈,包括栈顶指针,所述栈顶指针指向最近一次前台运行的应用程序;若移动终端前、后台均没有运行应用程序则栈顶指针为空;

步骤B、当检测到移动终端的剩余内存小于预先设定的阈值时,获取所述应用程序堆栈中栈顶指针指向的应用程序;

步骤C、只对所述栈顶指针指向的应用程序开放内存,对除所述栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

所述基于移动终端的内存占用控制方法,其中,所述步骤C之后还包括:

步骤D、所述栈顶指针指向的应用程序发生改变时,只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

所述基于移动终端的内存占用控制方法,其中,所述应用程序堆栈,用于保存用户按时间先后顺序曾在前台运行的应用程序,离当前时间最近的前台运行程序置于栈顶,然后按距离当前时间的远近在应用程序堆栈中保存曾经在前台运行过的应用程序;曾在前台运行的应用程序中距离当前时间远的排在下面,距离当前时间近的排在上面;当应用程序堆栈中保存的应用程序被关闭时,在应用程序堆栈中将其删除。

所述基于移动终端的内存占用控制方法,其中,所述步骤B还包括:若栈顶指针为空则返回空。

所述基于移动终端的内存占用控制方法,其中,所述预先设定的阈值为200M字节。

所述基于移动终端的内存占用控制方法,其中,所述外存,包括FLASH存储器、EEPROM存储器。

所述基于移动终端的内存占用控制方法,其中,所述步骤D还包括:如果当前栈顶指针指向第一个应用程序,此时只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

一种基于移动终端的内存占用控制系统,其中,包括:

应用程序堆栈建立模块,用于预先建立应用程序堆栈;所述应用程序堆栈,包括栈顶指针,所述栈顶指针指向最近一次前台运行的应用程序;若移动终端前、后台均没有运行应用程序则栈顶指针为空;

检测与获取模块,用于当检测到移动终端的剩余内存小于预先设定的阈值时,获取所述应用程序堆栈中栈顶指针指向的应用程序;若栈顶指针为空则返回空;

第一控制模块,用于只对所述栈顶指针指向的应用程序开放内存,对除所述栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

所述基于移动终端的内存占用控制系统,其中,还包括:

第二控制模块,用于所述栈顶指针指向的应用程序发生改变时,只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

所述基于移动终端的内存占用控制系统,其中,所述应用程序堆栈,用于保存用户按时间先后顺序曾在前台运行的应用程序,离当前时间最近的前台运行程序置于栈顶,然后按距离当前时间的远近在应用程序堆栈中保存曾经在前台运行过的应用程序;曾在前台运行的应用程序中距离当前时间远的排在下面,距离当前时间近的排在上面;当应用程序堆栈中保存的应用程序被关闭时,在应用程序堆栈中将其删除;

所述预先设定的阈值为200M字节;

所述外存,包括FLASH存储器、EEPROM存储器;

所述第二控制模块还用于如果当前栈顶指针指向第一个应用程序,此时只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

本发明所提供的基于移动终端的内存占用控制方法及系统,所述方法通过建立应用程序堆栈来保存最近一次前台运行的应用程序,当开启内存较小时只允许该应用程序访问内存,并且之后只允许前台正在运行的应用程序访问内存,使内存使用具有针对性,从而使应用打开但不在前台运行时能够减少内存的占用,以利于系统稳定、高效、快速的运行。

附图说明

图1是本发明基于移动终端的内存占用控制方法的较佳实施例的流程图。

图2~图5是本发明基于移动终端的内存占用控制方法的较佳实施例的所述的应用程序堆栈示例示意图。

图6是本发明基于移动终端的内存占用控制系统的较佳实施例的功能原理框图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参见图1,图1是本发明基于移动终端的内存占用控制方法的较佳实施例的流程图。如图1所示,本发明实施例提供的一种基于移动终端的内存占用控制方法,包括以下步骤:

S100,预先建立应用程序堆栈;所述应用程序堆栈,包括栈顶指针,所述栈顶指针指向最近一次前台运行的应用程序;若移动终端前、后台均没有运行应用程序则栈顶指针为空;

所述应用程序堆栈,用于保存用户按时间先后顺序曾在前台运行的应用程序,离当前时间最近的前台运行程序置于栈顶,然后按距离当前时间的远近在应用程序堆栈中保存曾经在前台运行过的应用程序;曾在前台运行的应用程序中距离当前时间远的排在下面,距离当前时间近的排在上面;当应用程序堆栈中保存的应用程序被关闭时,在应用程序堆栈中将其删除。

譬如,用户先打开微信则应用程序堆栈如图2所示此时栈顶指针指向微信,接着依次再打开支付宝、京东、高德地图则应用程序堆栈如图3所示此时栈顶指针指向高德地图,如果此时用户关闭处于后台的京东在应用程序堆栈中删除京东则应用程序堆栈如图4所示此时栈顶指针仍指向高德地图,如果接着用户再关闭高德地图则应用程序堆栈如图5所示此时栈顶指针指向支付宝。

S200,当检测到移动终端的剩余内存小于预先设定的阈值时,获取所述应用程序堆栈中栈顶指针指向的应用程序;

若栈顶指针为空则返回空;

其中,所述预先设定的阈值,较佳地,为200M字节。

S300,只对所述栈顶指针指向的应用程序开放内存,对除所述栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中;

譬如,当前应用程序堆栈如图5所示此时栈顶指针指向支付宝,则只对支付宝开放内存,对除支付宝之外的应用程序在内存中的数据复制到外存中;所述外存,包括FLASH存储器、EEPROM存储器等。FLASH存储器是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器。EEPROM存储器为带电可擦可编程只读存储器,一种掉电后数据不丢失的存储芯片。

S400,当所述栈顶指针指向的应用程序发生改变时,只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

也就是说,当前栈顶指针指向第一个应用程序,此时只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中;如果此时,用户又打开第二个应用,则此时栈顶指针指向第二个应用程序,此时只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

由上可见,本发明提供的基于移动终端的内存占用控制方法,旨在使应用打开但不在前台运行时能够减少内存的占用,以利于系统稳定、高效、快速的运行。

基于上述方法实施例,本发明还提供了一种基于移动终端的内存占用控制系统,如图6所示,所述系统包括:

应用程序堆栈建立模块210,用于预先建立应用程序堆栈;所述应用程序堆栈,包括栈顶指针,所述栈顶指针指向最近一次前台运行的应用程序;若移动终端前、后台均没有运行应用程序则栈顶指针为空;具体如上所述。

检测与获取模块220,用于当检测到移动终端的剩余内存小于预先设定的阈值时,获取所述应用程序堆栈中栈顶指针指向的应用程序;若栈顶指针为空则返回空;具体如上所述。

第一控制模块230,用于只对所述栈顶指针指向的应用程序开放内存,对除所述栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。

进一步地,所述基于移动终端的内存占用控制系统,其中,还包括:

第二控制模块240,用于所述栈顶指针指向的应用程序发生改变时,只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中;具体如上所述。

所述基于移动终端的内存占用控制系统,其中,所述应用程序堆栈,用于保存用户按时间先后顺序曾在前台运行的应用程序,离当前时间最近的前台运行程序置于栈顶,然后按距离当前时间的远近在应用程序堆栈中保存曾经在前台运行过的应用程序;曾在前台运行的应用程序中距离当前时间远的排在下面,距离当前时间近的排在上面;当应用程序堆栈中保存的应用程序被关闭时,在应用程序堆栈中将其删除;具体如上所述。

所述预先设定的阈值为200M字节;

所述外存,包括FLASH存储器、EEPROM存储器;

所述第二控制模块还用于如果当前栈顶指针指向第一个应用程序,此时只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中;具体如上所述。

综上所述,本发明所提供的基于移动终端的内存占用控制方法及系统,所述方法通过建立应用程序堆栈来保存最近一次前台运行的应用程序,当开启内存较小时只允许该应用程序访问内存,并且之后只允许前台正在运行的应用程序访问内存,使内存使用具有针对性,从而使应用打开但不在前台运行时能够减少内存的占用,以利于系统稳定、高效、快速的运行。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1