内存分配器优化方法、装置、设备、存储介质制造方法及图纸

技术编号:23148830 阅读:30 留言:0更新日期:2020-01-18 13:22
本公开提供了一种内存分配器优化方法、装置、设备、存储介质。内存分配器优化方法包括:通过查找函数查找虚拟机全局符号;在所述虚拟机全局符号指向的内存地址中搜索初始内存分配器的结构体的内存地址;将搜索的所述初始内存分配器的结构体的内存地址转换为指向所述初始内存分配器的结构体的指针变量;搜索得到目标内存分配器的结构体;将指向所述初始内存分配器的结构体的指针变量指向所述目标内存分配器的结构体的内存地址,同时断开所述指针变量原来指向的所述初始内存分配器的结构体的内存地址。本公开可以实现通过内存搜索和动态替换,扩展优化线性内存分配器的大小,提升了用户的使用体验。

Optimization method, device, equipment and storage medium of memory allocator

【技术实现步骤摘要】
内存分配器优化方法、装置、设备、存储介质
本公开涉及计算机软件
,尤其涉及一种内存分配器优化方法、装置、设备、存储介质。
技术介绍
随着多媒体技术的发展,人们越来越离不开各类智能设备。智能设备包括各式各样的设备与终端,包括利用计算机技术和数字通讯网技术来处理和控制信息的系统终端等。目前,随着安卓移动端应用的功能越来越多,代码的体积也越来越大,同时了为了让更多的用户能够不断的使用到应用的新功能,就需要移动端应用兼容老版本的安卓版本和Dalvik虚拟机(Google公司自己设计用于安卓平台的虚拟机)。目前主要存在如下问题:随着安卓系统的版本更新不断增大虚拟机中的线性内存分配器的大小,但其更新增加的速度仍然跟不上移动端应用的代码体积增加的速度,所以当应用运行时加载超过虚拟机指定大小的线性内存分配器的大小时则会发生崩溃,严重影响用户体验和应用的口碑。
技术实现思路
本公开正是为了解决上述课题而完成,其目的在于提供一种简单高效的,可实现在应用启动时动态修改虚拟机中的线性内存分配器的大小的内存分配器优化方法、装置、设备、存本文档来自技高网...

【技术保护点】
1.一种内存分配器优化方法,应用于启动的应用,其特征在于,所述内存分配器优化方法包括:/n通过查找函数查找虚拟机全局符号;/n在所述虚拟机全局符号指向的内存地址中搜索初始内存分配器的结构体的内存地址;/n将搜索到的所述初始内存分配器的结构体的内存地址转换为指向所述初始内存分配器的结构体的指针变量;/n搜索得到目标内存分配器的结构体,其中,所述目标内存分配器的结构体的内存大于所述初始内存分配器的结构体的内存;/n将指向所述初始内存分配器的结构体的指针变量指向所述目标内存分配器的结构体的内存地址,同时断开所述指针变量原来指向的所述初始内存分配器的结构体的内存地址。/n

【技术特征摘要】
1.一种内存分配器优化方法,应用于启动的应用,其特征在于,所述内存分配器优化方法包括:
通过查找函数查找虚拟机全局符号;
在所述虚拟机全局符号指向的内存地址中搜索初始内存分配器的结构体的内存地址;
将搜索到的所述初始内存分配器的结构体的内存地址转换为指向所述初始内存分配器的结构体的指针变量;
搜索得到目标内存分配器的结构体,其中,所述目标内存分配器的结构体的内存大于所述初始内存分配器的结构体的内存;
将指向所述初始内存分配器的结构体的指针变量指向所述目标内存分配器的结构体的内存地址,同时断开所述指针变量原来指向的所述初始内存分配器的结构体的内存地址。


2.如权利要求1所述的内存分配器优化方法,其特征在于,还包括:
通过操作系统标准函数打开共享库,所述共享库中包括能够在多个程序之间共享的代码的集合及所述虚拟机全局符号。


3.如权利要求2所述的内存分配器优化方法,其特征在于,所述通过查找函数查找所述虚拟机全局符号,包括:
将所述共享库中的动态符号表载入;
使用所述查找函数将函数指针指向所述动态符号表;
通过调用所述函数指针读取所述动态符号表中的所述虚拟机全局符号。


4.如权利要求1所述的内存分配器优化方法,其特征在于,
通过搜索的所述目标内存分配器的结构体的内存的值与所述初始内存分配器的地址存放成员变量的值进行比较,若两者相等,则搜索得到所述目标内存分配...

【专利技术属性】
技术研发人员:宋金时田力
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1