CN102279762A - 在手机平台提高内存使用效率的方法 - Google Patents

在手机平台提高内存使用效率的方法 Download PDF

Info

Publication number
CN102279762A
CN102279762A CN2011101712531A CN201110171253A CN102279762A CN 102279762 A CN102279762 A CN 102279762A CN 2011101712531 A CN2011101712531 A CN 2011101712531A CN 201110171253 A CN201110171253 A CN 201110171253A CN 102279762 A CN102279762 A CN 102279762A
Authority
CN
China
Prior art keywords
memory
control module
main control
application
subprogram
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.)
Granted
Application number
CN2011101712531A
Other languages
English (en)
Other versions
CN102279762B (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.)
HANGZHOU SKY-MOBI TECHNOLOGY Co Ltd
Original Assignee
HANGZHOU SKY-MOBI 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 HANGZHOU SKY-MOBI TECHNOLOGY Co Ltd filed Critical HANGZHOU SKY-MOBI TECHNOLOGY Co Ltd
Priority to CN201110171253.1A priority Critical patent/CN102279762B/zh
Publication of CN102279762A publication Critical patent/CN102279762A/zh
Application granted granted Critical
Publication of CN102279762B publication Critical patent/CN102279762B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种在手机平台提高内存使用效率的方法。本发明的目的在于解决上述现有技术中低端手机平台特变是在缺少缺乏内存管理单元的低端手机平台上无法流畅运行较为复杂程序的问题,其技术方案要点是,通过在应用程序内设置主控模块,操作系统根据主控模块将物理内存内数据建立镜像,将物理内存中暂时不使用的数据保存为内存镜像移除物理内存保存,在需要的时候再重新调用内存镜像的方式来提高可用内存量。通过使用本发明提供的方法能在不改变硬件的条件下提高手机平台特别是低端手机平台物理内存的使用效率,使得较小的内存也可运行较为复杂的应用程序,降低了手机平台应用程序开发的难度。

Description

在手机平台提高内存使用效率的方法
技术领域
本发明涉及一种提内存使用效率的方法,特别涉及一种在手机平台上通过软件方式提高内存使用效率的方法。
背景技术
目前,在我国,国产手机以价格优势抢占了大量的手机市场,国产手机用户的量非常大,但是国产手机的硬件因为成本关系,比较单薄,所以很少有高性能的智能手机,手机平台作为一个低配置的移动终端,在日益高涨的需求中,显得处理能力较为低下,特别是国产手机,物理内存即RAM往往只有4MB或者8MB,在扣去系统自身运行所必要的内存容量后,实际可用的内存容量往往只有600KB至1MB左右,这样的内存容量只能够运行一些运算简单的程序,如果程序复杂,那么会出现内存溢出、死机等各种问题,但是在目前,人们对于手持终端的功能的要求越来越高,一些复杂程序的处理必不可少,对于一般的个人笔记本电脑、PDA上一般都会采用虚拟内存的形式来辅助物理内存进行数据处理,但是这需要CPU的支持,确切的说是需要有内存管理单元,它是中央处理器中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,但是这在低端手机平台上是不存在的,低端手机平台为了成本优势,一般不会选用带有内存管理单元的CPU,所以,一种能在手机平台上提高内存使用效率的方法必不可少。
中国专利公告号CN 1818870A,公告日2006年8月16日,公开了一种嵌入式操作系统内存镜像启动优化的实现方法,本发明的方法在嵌入式操作系统运行过程中,将正在运行的操作系统的寄存器内容、使用中的内存内容以及相应状态保存下来,保存在硬件系统的NOR Flash上,在启动的时候自动将内存镜像到动态随机存储器,恢复保存时嵌入式操作系统的状态。此技术方案,优化了嵌入式操作系统的启动,但是对内存镜像的应用限定较为狭隘,对于较为复杂程序的运行没有优化功能,只能加快系统的启动速度,无法应用与手机平台内存的使用效率。
发明内容
本发明的目的在于解决上述现有技术中低端手机平台特别是在缺乏内存管理单元的低端手机平台上无法流畅运行较为复杂程序的问题,提供一种通过将物理内存中内容建立内存镜像存储在程序存储器中,通过调用内存镜像,提高内存使用效率的方法。
本发明解决其技术问题所采用的技术方案是:一种在手机平台提高内存使用效率的方法,通过在应用程序内设置主控模块,操作系统根据主控模块将物理内存内数据建立镜像,调用镜像的方式来提高可用内存量,提高程序执行效率,首先在应用程序内建立主控模块,然后通过以下步骤完成应用程序的运行:
步骤一:操作系统读取应用程序,并将应用程序中的主控模块加载至可用内存;
步骤二:主控模块向操作系统申请,将剩余的可用内存划分为接管区和非接管区,其中所述的接管区用于执行应用子程序,非接管区用于数据交换;
步骤三:操作系统根据主控模块读取一个应用子程序,所述的应用子程序加载至接管区,操作系统执行所述的应用子程序,得出的执行结果数据存入非接管区;
步骤四:正在执行的应用子程序请求主控模块调用下一个应用子程序,此时,主控模块在程序存储器中选取一段可用空间作为虚拟内存区,主控模块将接管区内的数据作内存镜像存入虚拟内存区;
步骤五:主控模块清空接管区后加载下个应用子程序,此应用子程序根据设定读取非接管区内的相关联数据,操作系统执行物理内存中的应用子程序,得出的执行结果数据存入非接管区;
步骤六:根据正在执行的应用子程序的请求主控模块选择是加载下个应用子程序还是加载上个应用子程序的内存镜像,如果选择是加载下个应用子程序则跳转执行步骤四,如果选择是加载内存镜像则执行步骤七;
步骤七:正在执行的应用子程序请求主控模块加载一个内存镜像,此时,主控模块在程序存储器中选取一段可用空间作为虚拟内存区,主控模块将接管区内的数据作内存镜像存入虚拟内存区;
步骤八:主控模块清空接管区后读取内存镜像,内存镜像中的应用子程序加载至物理内存,此应用子程序根据设定读取非接管区内的相关联数据,操作系统执行物理内存中的应用子程序,得出的执行结果数据存入非接管区;
步骤九:根据正在执行的应用子程序的请求主控模块选择是加载下个应用子程序还是加载上个应用子程序的内存镜像,如果选择是加载下个应用子程序则跳转执行步骤四,如果选择是加载上个应用子程序的内存镜像则执行步骤七。
在低端手机上,手机的内存数量虽然不足,但是程序存储器为T-Flash存储卡或SD卡等存储器,一般可由使用者自行拓展,最大可为4GB,相对物理内存有较大的可用空间,通过设置主控模块,由主控模块控制申请将可用物理内存划分接管区和非接管区,通过软件方法控制接管区对应用子程序的加载,可以在运行较大程序的时候通过将物理内存中暂时不执行的应用子程序保存为内存镜像,将内存镜像移除出物理内存后保存至程序存储器,物理内存加载目前正要运行的应用子程序,提高物理内存的使用效率,同时非接管区作为数据交换的区域也保证了多个应用子程序的执行结果数据能有效地传递,在需要执行已执行的应用子程序时也可以直接加载内存镜像,降低了重复运算的发生,在手机平台提高程序执行效率,使得较小的内存也可运行较为复杂的应用程序,降低了手机平台应用程序开发的难度。
作为优选,所述的步骤五中,物理内存中的应用子程序为退出子程序时,则操作系统对所有内存镜像执行删除操作然后清空物理内存,退出应用程序。通过对所有应用程序相关的内存镜像执行删除操作,保存了手机平台的程序存储器重新拥有较大的剩余空间,在执行下一个应用程序时,可以有较多的资源作为内存镜像使用。
作为优选,如果在所述的步骤七中物理内存中加载的应用子程序为通过加载上个应用子程序的内存镜像方式加载的,则主控模块将物理内存中接管区的数据保存为内存镜像覆盖虚拟内存区的原有内存镜像。这样设置可以保证一个应用子程序只存在有一个内存镜像,而且此内存镜像是最近一次调用加载进行数据处理过的应用子程序,降低了加载应用子程序后重复运算的可能性。
作为优选,所述的步骤四中,如果程序存储器中完全没有剩余空间,则主控模块发出提示信息,提醒使用者清理程序存储器,由使用者确定后执行应用程序的退出子程序。这样设置,可以提醒使用者需要对程序存储器进行清理,清理出一定的空间来增加应用程序的使用空间。
本发明的有益效果是:通过使用本发明提供的方法能在不改变硬件的条件下提高手机平台特别是低端手机平台物理内存的使用效率,提高程序执行效率,使得较小的内存也可运行较为复杂的应用程序,降低了手机平台应用程序开发的难度。
附图说明
图1是本发明的一种流程图的第一部分;
图2是本发明的一种流程图的第二部分;
图3是本发明的一种流程图的第三部分;
图4是本发明的一种流程图的第四部分;
图5是本发明的一种流程图的第五部分;
图6是本发明的一种流程图的第六部分。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体说明。
实施例:
一种在手机平台提高内存使用效率的方法,本实施例的手机平台以常用MTK平台为例,其中本实施例的物理内存为4MB,在加载完操作系统后,剩余的可用内存为1MB,本实施例的使用方法如下(参见附图1),首先实行步骤S1:在一个由多种应用子程序构成的应用程序中建立一个主控模块,将主控模块的优先级设为最高,运行此应用程序时运行步骤S2:操作系统首先会加载主控模块至物理内存,然后运行步骤S3:主控模块根据实际需求向操作系统提出内存管理的要求,得到回复后,主控模块通过调用API函数实现对可用内存的管理,主控模块将剩余的可用内存划分为接管区和非接管区,其中所述的接管区用于执行应用子程序,非接管区用于数据交换;然后运行步骤S4:操作系统根据主控模块申请读取一个应用子程序,所述的应用子程序加载至接管区;然后运行步骤S5:操作系统执行所述的应用子程序,步骤S6:得出的执行结果数据存入非接管区、将运行后重新赋值过的应用子程序在物理内存中的接管区内进行修改,此应用子程序完全执行后运行步骤S7:此物理内存的应用子程序将请求主控模块调用下一个应用子程序,此时运行步骤S8:主控模块在程序存储器中进行扫描,然后选取一段可用空间作为虚拟内存区,这里所述的程序存储器为T-Flash存储卡,一般可由使用者自行拓展,最大可为4GB,相对物理内存有较大的可用空间,如果此过程中T-Flash存储卡中没有可用空间,(参见附图5)那么执行步骤S91:主控模块发出提示信息,提醒使用者清理程序存储器,由使用者确定后执行应用程序的退出子程序, 如果T-Flash存储卡中有足够可用空间,则执行步骤S9:主控模块将接管区内的数据作内存镜像存入虚拟内存区,步骤S10:主控模块开始清空接管区,步骤S11:主控模块将接管区内暂时不使用的数据清空后加载下个应用子程序,步骤S12:现在加载的应用子程序根据应用程序的设定读取非接管区内的相关联数据,然后执行步骤S13:操作系统执行目前物理内存中的应用子程序,当物理内存中加载的应用子程序为退出子程序时(参见附图4),执行步骤132:操作系统对所有内存镜像执行删除操作然后清空可用物理内存,退出应用程序;当物理内存中加载的应用子程序不是退出子程序时,执行步骤S14(参见附图2):得出的执行结果数据同样存入非接管区,将运行后重新赋值过的应用子程序在物理内存的接管区内进行修改;此时执行步骤S15:根据正在执行的应用子程序的请求主控模块选择是加载下个应用子程序还是加载上个应用子程序的内存镜像,如果选择是加载下个应用子程序则跳转执行步骤S7,如果选择是加载内存镜像则执行步骤S16;步骤S16:正在执行的应用子程序请求主控模块加载一个内存镜像,此时,主控模块在程序存储器中进行搜索,然后选取一段可用空间作为虚拟内存区,步骤S17:主控模块将接管区内的数据作内存镜像后存入虚拟内存区;步骤S18:主控模块清空接管区,然后执行步骤S19(参见附图3):操作系统根据主控模块的申请将目标的内存镜像加载入物理内存的接管区,步骤S20:操作系统读取此内存镜像中的应用子程序;步骤S21:操作系统根据应用子程序的设定读取非接管区内的相关联数据,步骤S22:操作系统执行物理内存中的应用子程序,得出的执行结果数据存入非接管区,将运行后重新赋值过的应用子程序在物理内存的接管区内进行修改;根据正在执行的应用子程序的请求主控模块选择是加载下个应用子程序还是加载上个应用子程序的内存镜像,如果选择是加载下个应用子程序则跳转执行步骤S7;如果是选择继续加载上个应用子程序的内存镜像,那么正在执行的应用子程序请求主控模块加载一个应用子程序的内存镜像,此时执行步骤S25(参见附图6):主控模块在程序存储器中进行搜索,搜索到物理内存内刚加载的内存镜像对应的虚拟内存地址,然后主控模块将接管区内的数据作内存镜像后存入虚拟内存区,覆盖虚拟内存区中原有内存镜像,步骤S26:主控模块清空接管区,然后执行步骤S27:操作系统根据主控模块的申请将目标的内存镜像加载入物理内存的接管区,步骤28:读取此内存镜像中的应用子程序,步骤S29:操作系统根据应用子程序的设定读取非接管区内的相关联数据,步骤S30:操作系统执行物理内存中的应用子程序,步骤S31:得出的执行结果数据存入非接管区,将运行后重新赋值过的应用子程序在物理内存的接管区内进行修改;当步骤S31执行完,主控模块将根据正在执行的应用子程序的请求主控模块选择是加载下个应用子程序还是加载内存镜像,如果选择是加载下个应用子程序则跳转执行步骤S7,如果是执行加载上个应用子程序的内存镜像,则跳转执行步骤S25。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

Claims (4)

1.一种在手机平台提高内存使用效率的方法,通过在应用程序内设置主控模块,操作系统根据主控模块将物理内存内数据建立镜像,调用镜像的方式来提高可用内存量,提高程序执行效率,其特征在于:首先在应用程序内建立主控模块,然后通过以下步骤完成应用程序的运行:
步骤一:操作系统读取应用程序,并将应用程序中的主控模块加载至可用内存;
步骤二:主控模块向操作系统申请,将剩余的可用内存划分为接管区和非接管区,其中所述的接管区用于执行应用子程序,非接管区用于数据交换;
步骤三:操作系统根据主控模块读取一个应用子程序,所述的应用子程序加载至接管区,操作系统执行所述的应用子程序,得出的执行结果数据存入非接管区;
步骤四:正在执行的应用子程序请求主控模块调用下一个应用子程序,此时,主控模块在程序存储器中选取一段可用空间作为虚拟内存区,主控模块将接管区内的数据作内存镜像存入虚拟内存区;
步骤五:主控模块清空接管区后加载下个应用子程序,此应用子程序根据设定读取非接管区内的相关联数据,操作系统执行物理内存中的应用子程序,得出的执行结果数据存入非接管区;
步骤六:根据正在执行的应用子程序的请求主控模块选择是加载下个应用子程序还是加载上个应用子程序的内存镜像,如果选择是加载下个应用子程序则跳转执行步骤四,如果选择是加载内存镜像则执行步骤七;
步骤七:正在执行的应用子程序请求主控模块加载一个内存镜像,此时,主控模块在程序存储器中选取一段可用空间作为虚拟内存区,主控模块将接管区内的数据作内存镜像存入虚拟内存区;
步骤八:主控模块清空接管区后读取内存镜像,内存镜像中的应用子程序加载至物理内存,此应用子程序根据设定读取非接管区内的相关联数据,操作系统执行物理内存中的应用子程序,得出的执行结果数据存入非接管区;
步骤九:根据正在执行的应用子程序的请求主控模块选择是加载下个应用子程序还是加载上个应用子程序的内存镜像,如果选择是加载下个应用子程序则跳转执行步骤四,如果选择是加载上个应用子程序的内存镜像则执行步骤七。
2.根据权利要求1所述的在手机平台提高内存使用效率的方法,其特征在于:所述的步骤五中,物理内存中的应用子程序为退出子程序时,则操作系统对所有内存镜像执行删除操作然后清空物理内存,退出应用程序。
3.根据权利要求1所述的在手机平台提高内存使用效率的方法,其特征在于:如果在所述的步骤七中物理内存中加载的应用子程序为通过加载上个应用子程序的内存镜像方式加载的,则主控模块将物理内存中接管区的数据保存为内存镜像覆盖虚拟内存区的原有内存镜像。
4.根据权利要求1或2或3所述的在手机平台提高内存使用效率的方法,其特征在于:所述的步骤四中,如果程序存储器中完全没有剩余空间,则主控模块发出提示信息,提醒使用者清理程序存储器,由使用者确定后执行应用程序的退出子程序。
CN201110171253.1A 2011-06-23 2011-06-23 在手机平台提高内存使用效率的方法 Expired - Fee Related CN102279762B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110171253.1A CN102279762B (zh) 2011-06-23 2011-06-23 在手机平台提高内存使用效率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110171253.1A CN102279762B (zh) 2011-06-23 2011-06-23 在手机平台提高内存使用效率的方法

Publications (2)

Publication Number Publication Date
CN102279762A true CN102279762A (zh) 2011-12-14
CN102279762B CN102279762B (zh) 2013-09-11

Family

ID=45105226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110171253.1A Expired - Fee Related CN102279762B (zh) 2011-06-23 2011-06-23 在手机平台提高内存使用效率的方法

Country Status (1)

Country Link
CN (1) CN102279762B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841859A (zh) * 2012-08-14 2012-12-26 上海艾麒信息科技有限公司 一种gsm手机虚拟内存构建方法
CN103092769A (zh) * 2013-01-22 2013-05-08 北京奇虎科技有限公司 对移动通信设备进行加速的方法及装置
WO2015090043A1 (zh) * 2013-12-20 2015-06-25 华为技术有限公司 一种数据换入内存的方法和装置
CN106796525A (zh) * 2015-02-23 2017-05-31 华为技术有限公司 按需加载动态脚本语言代码以减少内存使用
CN111147691A (zh) * 2019-12-31 2020-05-12 上海联影医疗科技有限公司 图像处理方法、装置、设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542082A (en) * 1990-12-06 1996-07-30 Tandberg Data A/S Data storage system connected to a host computer system and having removable data storage media and equipped to read a control program from the removable media into storage employing ID comparison scheme
US20090216985A1 (en) * 2008-02-22 2009-08-27 International Business Machines Corporation Methods, systems, and computer program products for dynamic selective memory mirroring
CN101853210A (zh) * 2010-05-25 2010-10-06 惠州华阳通用电子有限公司 一种内存管理方法及装置
CN101976225A (zh) * 2010-10-26 2011-02-16 深圳创维-Rgb电子有限公司 一种数字机顶盒系统内存的分配方法、模块和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542082A (en) * 1990-12-06 1996-07-30 Tandberg Data A/S Data storage system connected to a host computer system and having removable data storage media and equipped to read a control program from the removable media into storage employing ID comparison scheme
US20090216985A1 (en) * 2008-02-22 2009-08-27 International Business Machines Corporation Methods, systems, and computer program products for dynamic selective memory mirroring
CN101853210A (zh) * 2010-05-25 2010-10-06 惠州华阳通用电子有限公司 一种内存管理方法及装置
CN101976225A (zh) * 2010-10-26 2011-02-16 深圳创维-Rgb电子有限公司 一种数字机顶盒系统内存的分配方法、模块和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841859A (zh) * 2012-08-14 2012-12-26 上海艾麒信息科技有限公司 一种gsm手机虚拟内存构建方法
CN102841859B (zh) * 2012-08-14 2015-12-16 上海艾麒信息科技有限公司 一种gsm手机虚拟内存构建方法
CN103092769A (zh) * 2013-01-22 2013-05-08 北京奇虎科技有限公司 对移动通信设备进行加速的方法及装置
WO2014161374A1 (zh) * 2013-01-22 2014-10-09 北京奇虎科技有限公司 对移动通信设备进行加速的方法及装置
CN103092769B (zh) * 2013-01-22 2015-10-14 北京奇虎科技有限公司 对移动通信设备进行加速的方法及装置
WO2015090043A1 (zh) * 2013-12-20 2015-06-25 华为技术有限公司 一种数据换入内存的方法和装置
CN106796525A (zh) * 2015-02-23 2017-05-31 华为技术有限公司 按需加载动态脚本语言代码以减少内存使用
CN106796525B (zh) * 2015-02-23 2019-11-19 华为技术有限公司 按需加载动态脚本语言代码以减少内存使用
CN111147691A (zh) * 2019-12-31 2020-05-12 上海联影医疗科技有限公司 图像处理方法、装置、设备和可读存储介质

Also Published As

Publication number Publication date
CN102279762B (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
US8566832B1 (en) Power optimization for multi-core devices having a shared memory manager
CN102279762B (zh) 在手机平台提高内存使用效率的方法
US20190220418A1 (en) Memory Management Method and Apparatus
CN100517236C (zh) 智能卡嵌入式操作系统及其控制方法
CN102135910B (zh) 切换操作系统的方法及使用此方法的电子装置
CN104272256B (zh) 任务处理装置
CN101287187A (zh) 智能手机及其操作系统运行方法
KR101522081B1 (ko) 프로세서에서 스레드들을 실행하는 시스템 및 방법
CN102841674B (zh) 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法
WO2007098424A2 (en) System and method for multi-processor application support
CN110300328B (zh) 一种视频播放控制方法、装置及可读存储介质
CN104050137B (zh) 一种异构操作系统中内核运行的方法及装置
CN102047218A (zh) 进程中的调度器实例
CN102779072A (zh) 一种嵌入式系统及其应用进程的休眠与唤醒方法
CN101819539B (zh) 一种μCOS-Ⅱ移植到ARM7的中断嵌套方法
CN102880477A (zh) 一种实现计算机启动的方法和计算机
CN108021449A (zh) 一种协程实现方法、终端设备及存储介质
CN110008027A (zh) 进程的运行方法、装置、终端及存储介质
CN101169737A (zh) 任务切换控制方法以及计算机系统
CN102436393B (zh) 任务处理装置
CN102567220A (zh) Cache存取的控制方法及装置
CN101093416A (zh) 计算机及其节能方法
CN112346835A (zh) 一种基于协程的调度处理方法及系统
CN103645941A (zh) 一种新型无线传感器网络操作系统
CN103257894A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130911

Termination date: 20170623