[发明专利]用于辅助位图对象内存分配的方法及装置有效

专利信息
申请号: 201910527016.0 申请日: 2019-06-18
公开(公告)号: CN110362311B 公开(公告)日: 2023-03-14
发明(设计)人: 王佐 申请(专利权)人: 创新先进技术有限公司
主分类号: G06F8/41 分类号: G06F8/41;G06F8/30;G06F12/02;G06F9/50
代理公司: 北京永新同创知识产权代理有限公司 11376 代理人: 林锦辉
地址: 英属开*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 辅助 位图 对象 内存 分配 方法 装置
【说明书】:

本公开提供一种用于辅助位图对象内存分配的方法及装置。在该方法中,获取位图对象在应用程序Java层中的数据结构中的第一地址字段的位置信息,位图对象在应用程序原生层的数据结构中的第二地址字段和第三地址字段的位置信息以及在应用程序Java层的内存空间中创建的第一字节型数组对象的数组对象信息。然后,基于第一字节型数组对象的数组对象信息,在应用程序原生层的内存空间中创建第二字节型数组对象,第二字节型数组对象具有与第一字节型数组对象相同的内存大小和数据结构。随后,使用第二字节型数组对象的虚拟地址覆盖第一地址字段、第二地址字段和第三地址字段处存储的虚拟地址。

技术领域

本公开通常涉及图片渲染领域,更具体地,涉及用于辅助位图对象内存分配的方法及装置。

背景技术

内存溢出错误(OOM,Out of Memory)是指应用程序申请内存过大,而应用程序虚拟机无法满足,然后发生系统崩溃。OOM是应用程序开发中经常碰到的现象。这个现象通常出现在大图片类应用程序开发或者需要使用大量图片的应用程序开发中。比如,应用程序从本地文件中读取图片,然后在GridView中进行图片显示,这时,应用程序需要申请内存来存放图片,由于应用程序的每个进程或者应用程序虚拟机具有最大内存限制,一旦应用程序所申请的内存超过最大内存限制,则会发生OOM错误。

位图(Bitmap)对象的尺寸通常比较大,创建一个Bitmap对象会消耗大量的内存。在大图片类应用程序中,需要从本地文件中读取图片,然后在GridView中进行图片渲染。图片渲染操作需要创建大量的Bitmap对象,并且在应用程序Java层的内存堆(例如,Java堆)中为所创建的Bitmap对象分配内存,以存储所绘制的Bitmap对象的像素。在内存堆碎片化严重时,针对位图对象的内存分配操作容易发生OOM错误。如何在Bitmap对象创建时进行内存分配以降低OOM错误发生概率,成为亟待解决的问题。

发明内容

鉴于上述,本公开提供了一种用于辅助位图对象内存分配的方法及装置。利用该方法及装置,通过为位图对象分配原生层的内存空间中的内存来存储对应的像素数据,能够降低OOM错误的发生概率。

根据本公开的一个方面,提供了一种用于辅助位图对象内存分配的方法,包括:获取位图对象在应用程序Java层中的数据结构中的第一地址字段的位置信息,所述位图对象在应用程序原生层的数据结构中的第二地址字段的位置信息和第三地址字段的位置信息以及在所述应用程序Java层的内存空间中创建的第一字节型数组对象的数组对象信息,所述数组对象信息包括内存大小和数据结构信息,所述第一字节型数组对象用于存储所述位图对象的像素数据,所述第一地址字段和所述第二地址字段用于存储所使用的字节型数组对象的虚拟地址,以及所述第三地址字段用于存储全局引用所指向的字节型数组对象的虚拟地址;基于所述第一字节型数组对象的数组对象信息,在所述应用程序原生层的内存空间中创建第二字节型数组对象,所述第二字节型数组对象具有与所述第一字节型数组对象相同的内存大小和数据结构;以及使用所述第二字节型数组对象的虚拟地址覆盖所述第一地址字段、所述第二地址字段和所述第三地址字段处存储的虚拟地址。

可选地,在上述方面的一个示例中,所述第一地址字段的位置信息、所述第二地址字段的位置信息和所述第三地址字段的位置信息使用相对于各自的数据结构的起始位置的偏移量来表示。

可选地,在上述方面的一个示例中,所述方法还可以包括:在所述第一地址字段、所述第二地址字段和所述第三地址字段处存储的虚拟地址被覆盖后,经由应用程序虚拟机执行针对所述第一字节型数组对象的回收操作。

可选地,在上述方面的一个示例中,所述方法还可以包括:在所述第一地址字段、所述第二地址字段和所述第三地址字段处存储的虚拟地址被覆盖后,在所述位图对象被使用时,由应用程序虚拟机使用所述第三地址字段处存储的虚拟地址来创建全局引用。

可选地,在上述方面的一个示例中,所述方法还可以包括:在应用程序虚拟机执行针对所述第二字节型数组对象的虚拟地址的对象地址检查时,使得所述应用程序虚拟机跳过所述对象地址检查。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910527016.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top