[发明专利]一种对象回收方法、装置、电子设备及存储介质有效
申请号: | 201710880736.6 | 申请日: | 2017-09-26 |
公开(公告)号: | CN109558332B | 公开(公告)日: | 2022-10-25 |
发明(设计)人: | 杨琦;韩峰 | 申请(专利权)人: | 北京金山安全软件有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/455 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 对象 回收 方法 装置 电子设备 存储 介质 | ||
1.一种对象回收方法,其特征在于,所述方法包括:
获取安卓系统的ReferenceQueue链表中的finalize对象;
获取所述finalize对象所属类的类标识;
判断获取的所述finalize对象是否为预设的不需要调用finalize函数就能够被回收的目标finalize对象;
如果是,调用所述ReferenceQueue链表的remove函数回收所述finalize对象;
如果否,通过先后调用所述ReferenceQueue链表的finalize函数和所述remove函数,回收所述finalize对象;
所述判断获取的所述finalize对象是否为预设的不需要调用finalize函数能够被回收的目标finalize对象,包括:
判断获取的所述finalize对象所属类的类标识,是否为预设的不需要调用finalize函数就能够被回收的目标finalize对象所属类的类标识。
2.根据权利要求1所述的方法,其特征在于,预设的不需要调用finalize函数就能够被回收的目标finalize对象所属类的类标识存储于预设的目标对象清单中;
所述判断获取的所述finalize对象所属类的类标识,是否为预设的不需要调用finalize函数就能够被回收的目标finalize对象所属类的类标识,包括:
判断获取的所述finalize对象所属类的类标识,是否位于所述目标对象清单中。
3.根据权利要求1至2任一项所述的方法,其特征在于,在所述获取安卓系统的ReferenceQueue链表中的finalize对象之前,所述方法还包括:
判断所述安卓系统中是否存在当前未被其他finalize对象引用的finalize对象;
若存在,将所述当前未被其他finalize对象引用的finalize对象加入到所述ReferenceQueue链表中。
4.一种对象回收装置,其特征在于,所述装置包括:
第一获取模块,用于获取安卓系统的ReferenceQueue链表中的finalize对象;
第二获取模块,用于获取所述finalize对象所属类的类标识;
第一判断模块,用于判断获取的所述finalize对象是否为预设的不需要调用finalize函数就能够被回收的目标finalize对象;
第一调用模块,用于如果所述第一判断模块判断出获取的所述finalize对象为预设的不需要调用finalize函数就能够被回收的目标finalize对象,调用所述ReferenceQueue链表的remove函数回收所述finalize对象;
第二调用模块,用于如果所述第一判断模块判断出获取的所述finalize对象不为预设的不需要调用finalize函数就能够被回收的目标finalize对象,通过先后调用所述ReferenceQueue链表的finalize函数和所述remove函数,回收所述finalize对象;
所述第一判断模块,具体用于:
判断获取的所述finalize对象所属类的类标识,是否为预设的不需要调用finalize函数就能够被回收的目标finalize对象所属类的类标识。
5.根据权利要求4所述的装置,其特征在于,预设的不需要调用finalize函数就能够被回收的目标finalize对象所属类的类标识存储于预设的目标对象清单中;
所述第一判断模块,具体用于:
判断获取的所述finalize对象所属类的类标识,是否位于所述目标对象清单中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全软件有限公司,未经北京金山安全软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710880736.6/1.html,转载请声明来源钻瓜专利网。