发明内容
本发明的主要目的是提供一种应用程序动态加载方法和装置,旨在通过节省内存提高系统运行速度。
本发明提出一种应用程序动态加载的方法,包括:
侦测用户发送的控制指令;
侦测到用户发送控制指令时,调用存储设备中预存的与所述控制指令对应的程序模块;
将调用的所述程序模块存储在内存中的指定存储区域,并对内存中的指定存储区域的程序模块进行清除处理,并将调用的所述程序模块存储在清除处理后的所述指定存储区域中;
运行调用的在所述指定存储区域中的程序模块。
优选地,所述调用外部存储设备中预存的与所述控制指令相关的程序模块的步骤之前还包括:
将所述程序模块的源代码经过编译链接写入外部存储设备中。
优选地,所述运行所述程序模块的步骤包括:
通过应用程序接口由系统库中调用与所述程序模块对应系统程序;
通过所述系统程序运行所述程序模块。
优选地,所述存储设备为存储卡或硬盘。
本发明还提出一种应用程序动态加载装置,包括:
侦测模块,用于侦测用户发送的控制指令;
调用模块,用于在侦测到用户发送的控制指令时,调用存储设备中预存的与所述控制指令相关的程序模块;
存储模块,用于将调用的所述程序模块存储在内存中的指定存储区域,并对内存中的指定存储区域的程序模块进行清除处理,并将调用的所述程序模块存储在清除处理后的所述指定存储区域中;
运行模块,用于调用的在所述指定存储区域中的程序模块。
优选地,还包括写入模块,用于将所述程序模块的源代码经过编译链接写入外部存储设备中。
优选地,所述运行模块包括:
调用单元,用于通过应用程序接口由系统库中调用与所述程序模块对应系统程序;
运行单元,用于通过所述系统程序运行所述程序模块。
优选地,所述存储设备为存储卡或硬盘。
本发明提出的应用程序动态加载方法和装置,在每次加载新的应用程序模块时覆盖同一存储地址的应用程序模块,节省内存空间,提高系统运行速度;而且不用在每次加载新的应用程序时都申请释放内存,减少内存碎片,提高系统运行的稳定性。
附图说明
图1为本发明应用程序动态加载方法第一实施例的流程示意图;
图2为本发明应用程序动态加载方法第二实施例的流程示意图;
图3为本发明应用程序动态加载方法中运行调用的程序模块的流程示意图;
图4为本发明应用程序动态加载装置第一实施例的结构示意图;
图5为本发明应用程序动态加载装置第二实施例的结构示意图;
图6为本发明应用程序动态加载装置中运行模块的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面结合附图及具体实施例就本发明的技术方案做进一步的说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明应用程序动态加载方法第一实施例的流程示意图。
本实施例提出的应用程序动态加载方法,包括:
步骤S10,侦测用户发送的控制指令;
步骤S20,侦测到用户发送控制指令时,调用存储设备中预存的与该控制指令对应的程序模块;
在侦测到用户发送的控制指令时,该控制指令需要运行应用程序才能实现,则调用与该控制指令相关的程序模块并运行才能实现该指令所对应的功能。存储装置优选为硬盘、内存卡等。
步骤S30,将调用的所述程序模块存储在内存中的指定存储区域,并对内存中的指定存储区域的程序模块进行清除处理,并将调用的所述程序模块存储在清除处理后的所述指定存储区域中;
步骤S40,运行调用的在所述指定存储区域中的程序模块。
将调用的程序模块保存在内存中,该程序才能在系统中稳定运行,优选将程序模块存储在RAM(random access memory,随机存储器)中。指定地址是指系统为应用程序指定的存储地址,在存储该程序模块的过程中覆盖掉该存储地址中之前运行的程序模块,节省内存。然后在内存中运行该被调用的程序模块。
本实施例提出的应用程序动态加载方法,在每次加载新的应用程序模块时覆盖同一存储地址的应用程序模块,节省内存空间,提高系统运行速度;而且不用在每次加载新的应用程序时都申请释放内存,减少内存碎片,提高系统运行的稳定性。
参照图2,图2为本发明应用程序动态加载方法第二实施例的流程示意图。
基于第一实施例提出本发明应用程序动态加载方法第二实施例,在本实施例中,步骤S10之前还包括:
步骤S50,将程序模块的源代码经过编译链接写入存储设备中。
源代码是指未编译的按照一定的程序设计语言规范书写的文本文件,将设计好的源代码编译成为相应的应用程序,将应用程序写入存储设备中,在需要实现某一中应用时,有存储设备中调用与该应用对应的应用程序。
参照图3,图3为本发明应用程序动态加载方法中运行调用的程序模块的流程示意图。
在第一实施例和第二实施例中,步骤S40包括:
步骤S41,通过应用程序接口由系统库中调用与该程序模块对应系统程序;
步骤S42,通过系统程序运行该程序模块。
应用程序接口是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 应用程序接口而使操作系统去执行应用程序的命令。
参照图4,图4为本发明应用程序动态加载装置第一实施例的结构示意图。
本实施例提出的应用程序动态加载装置,包括:
侦测模块10,用于侦测用户发送的控制指令;
调用模块20,用于在侦测到用户发送的控制指令时,调用存储设备中预存的与该控制指令相应的程序模块;
在侦测到用户发送的控制指令时,该控制指令需要运行应用程序才能实现,则调用与该控制指令相关的程序模块并运行才能实现该指令所对应的功能。存储装置优选为硬盘、内存卡等。
存储模块30,用于将调用的所述程序模块存储在内存中的指定存储区域,并对内存中的指定存储区域的程序模块进行清除处理,并将调用的所述程序模块存储在清除处理后的所述指定存储区域中;
运行模块40,用于运行调用的在所述指定存储区域中的程序模块。
将调用的程序模块保存在内存中,该程序才能在系统中稳定运行,优选将程序模块存储在RAM(random access memory,随机存储器)中。指定地址是指系统为应用程序指定的存储地址,在存储该程序模块的过程中覆盖掉该存储地址中之前运行的程序模块,节省内存。然后在内存中运行该被调用的程序模块。
本实施例提出的应用程序动态加载方法,在每次加载新的应用程序模块时覆盖同一存储地址的应用程序模块,节省内存空间,提高系统运行速度;而且不用在每次加载新的应用程序时都申请释放内存,减少内存碎片,提高系统运行的稳定性。
参照图5,图5为本发明应用程序动态加载装置第二实施例的结构示意图。
基于第一实施例提出本发明序动态加载装置第二实施例,在本实施例中还包括写入模块50,用于将所述程序模块的源代码经过编译链接写入存储设备中。
源代码是指未编译的按照一定的程序设计语言规范书写的文本文件,将设计好的源代码编译成为相应的应用程序,将应用程序写入存储设备中,在需要实现某一中应用时,有存储设备中调用与该应用对应的应用程序。
参照图6,图6为本发明应用程序动态加载装置中运行模块的结构示意图。
在第一实施例和第二实施例中,运行模块40包括:
调用单元41,用于通过应用程序接口由系统库中调用与所述程序模块对应系统程序;
运行单元42,用于通过所述系统程序运行所述程序模块。
应用程序接口是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 应用程序接口而使操作系统去执行应用程序的命令。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。