[发明专利]程序启动所需资源创建方法、存储介质、设备及方法在审
| 申请号: | 201710640036.X | 申请日: | 2017-07-31 |
| 公开(公告)号: | CN109324842A | 公开(公告)日: | 2019-02-12 |
| 发明(设计)人: | 黄浩;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
| 主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/445 |
| 代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
| 地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 程序启动 内存空间 使用对象 存储介质 对象创建 资源创建 申请 创建 计算机软件 静态存储区 分配对象 构造函数 连续存储 内存地址 内存碎片 有效减少 运行状态 字节对齐 初始化 调用 指针 重复 全局 | ||
本发明涉及计算机软件领域,公开了一种程序启动所需资源创建方法、存储介质、设备及方法,该方法包括S1:初始化分配对象内存空间接口和内存地址的调用构造函数接口;S2:在内存的全局静态存储区中申请一内存空间;S3:对申请的内存空间进行字节对齐设置并形成连续存储空间;S4:程序启动时,根据当前需使用对象的运行状态,判断当前需使用对象是否已被创建,若否,则转到S5,若是,则获取该对象的指针;S5:判断当前需使用对象是否正在创建中,若是,则等待该对象创建完成,若否,则在申请的内存空间中创建当前需使用对象。本发明能够有效减少对象创建时对内存的重复申请及内存碎片的产生,提升程序启动速度。
技术领域
本发明涉及计算机软件领域,具体涉及一种程序启动所需资源创建方法、存储介质、设备及方法。
背景技术
Windows、iOS、Android等操作系统中的程序在启动的过程中,通常会创建多种对象资源以进行程序启动时的初始化工作,但此时创建的对象均在堆内存中,极易形成堆的内存碎片,进而影响程序的启动速度和对相应接口的访问速度,同时,有一部分不需要被立刻使用的对象也会被创建,从而造成对象资源的使用浪费,影响程序的运行性能,进一步地降低程序的启动速度。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种程序启动所需资源创建方法,有效减少对象创建时对内存的重复申请及内存碎片的产生,提升程序启动速度,本发明还提供一种序启动所需资源创建系统,能够减少内存空间重复申请,有效提升程序启动速度。
为达到以上目的,本发明采取的技术方案是,包括:
S1:初始化分配对象内存空间接口和内存地址的调用构造函数接口;
S2:通过分配对象内存空间接口,在内存的全局静态存储区中申请一内存空间;
S3:使用编译器对申请的内存空间进行字节对齐设置并形成连续存储空间;
S4:程序启动时,根据当前需使用对象的运行状态,判断当前需使用对象是否已被创建,若否,则转到S5,若是,则获取该对象的指针;
S5:判断当前需使用对象是否正在创建中,若是,则等待该对象创建完成,并获取该对象的指针,若否,则调用内存地址的调用构造函数在申请的内存空间中创建当前需使用对象,并获取创建的对象的指针。
在上述技术方案的基础上,S3中,申请的内存空间按照32字节对齐形式进行设置。
在上述技术方案的基础上,所述已被创建和正在创建中的对象均位于在全局静态存储区申请的内存空间。
在上述技术方案的基础上,
根据对象的访问接口状态信息判断所述对象的运行状态;
所述访问接口状态信息由变量标志标识;
所述变量标志包括未创建、创建中和创建完成。
在上述技术方案的基础上,S5中,在当前需使用对象正在创建中时,则通过线程让步函数yieldCurrentThread等待当前需使用对象的创建完成。
本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明还提供一种程序启动所需资源创建设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供一种程序启动所需资源创建系统,其特征在于,包括:
初始化模块,其用于初始化分配对象内存空间接口和内存地址的调用构造函数接口;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710640036.X/2.html,转载请声明来源钻瓜专利网。





