1.一种基于移动终端的内存占用控制方法,其特征在于,包括:
步骤A、预先建立应用程序堆栈;所述应用程序堆栈,包括栈顶指针,所述栈顶指针指向最近一次前台运行的应用程序;若移动终端前、后台均没有运行应用程序则栈顶指针为空;
步骤B、当检测到移动终端的剩余内存小于预先设定的阈值时,获取所述应用程序堆栈中栈顶指针指向的应用程序;
步骤C、只对所述栈顶指针指向的应用程序开放内存,对除所述栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。
2.根据权利要求1所述基于移动终端的内存占用控制方法,其特征在于,所述步骤C之后还包括:
步骤D、所述栈顶指针指向的应用程序发生改变时,只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。
3.根据权利要求1所述基于移动终端的内存占用控制方法,其特征在于,所述应用程序堆栈,用于保存用户按时间先后顺序曾在前台运行的应用程序,离当前时间最近的前台运行程序置于栈顶,然后按距离当前时间的远近在应用程序堆栈中保存曾经在前台运行过的应用程序;曾在前台运行的应用程序中距离当前时间远的排在下面,距离当前时间近的排在上面;当应用程序堆栈中保存的应用程序被关闭时,在应用程序堆栈中将其删除。
4.根据权利要求1所述基于移动终端的内存占用控制方法,其特征在于,所述步骤B还包括:若栈顶指针为空则返回空。
5.根据权利要求1所述基于移动终端的内存占用控制方法,其特征在于,所述预先设定的阈值为200M字节。
6.根据权利要求1所述基于移动终端的内存占用控制方法,其特征在于,所述外存,包括FLASH存储器、EEPROM存储器。
7.根据权利要求1所述基于移动终端的内存占用控制方法,其特征在于,所述步骤D还包括:如果当前栈顶指针指向第一个应用程序,此时只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。
8.一种基于移动终端的内存占用控制系统,其特征在于,包括:
应用程序堆栈建立模块,用于预先建立应用程序堆栈;所述应用程序堆栈,包括栈顶指针,所述栈顶指针指向最近一次前台运行的应用程序;若移动终端前、后台均没有运行应用程序则栈顶指针为空;
检测与获取模块,用于当检测到移动终端的剩余内存小于预先设定的阈值时,获取所述应用程序堆栈中栈顶指针指向的应用程序;若栈顶指针为空则返回空;
第一控制模块,用于只对所述栈顶指针指向的应用程序开放内存,对除所述栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。
9.根据权利要求8所述基于移动终端的内存占用控制系统,其特征在于,还包括:
第二控制模块,用于所述栈顶指针指向的应用程序发生改变时,只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。
10.根据权利要求8所述基于移动终端的内存占用控制系统,其特征在于,所述应用程序堆栈,用于保存用户按时间先后顺序曾在前台运行的应用程序,离当前时间最近的前台运行程序置于栈顶,然后按距离当前时间的远近在应用程序堆栈中保存曾经在前台运行过的应用程序;曾在前台运行的应用程序中距离当前时间远的排在下面,距离当前时间近的排在上面;当应用程序堆栈中保存的应用程序被关闭时,在应用程序堆栈中将其删除;
所述预先设定的阈值为200M字节;
所述外存,包括FLASH存储器、EEPROM存储器;
所述第二控制模块还用于如果当前栈顶指针指向第一个应用程序,此时只对当前栈顶指针指向的应用程序开放内存,对当前栈顶指针指向的应用程序之外的应用程序在内存中的数据复制到外存中。