[发明专利]用于收集非托管存储空间的实现有效
申请号: | 200680016249.5 | 申请日: | 2006-04-05 |
公开(公告)号: | CN101595460A | 公开(公告)日: | 2009-12-02 |
发明(设计)人: | C·P·杜苏德;Y·谢 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F12/00 | 分类号: | G06F12/00;G06F17/30 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 陈 斌 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 收集 托管 存储空间 实现 | ||
1.一种用于在计算环境中执行存储空间的垃圾收集的方法,包括:
存储分配存储空间的第一时间;
在第二时间分配额外存储空间;
确定在所述第一和第二时间之间的第一经过时间;以及
如果第一经过时间大于分配阈值,就引起对未引用存储空间的垃圾收集。
2.根据权利要求1所述的方法,其特征在于,还包括:
设置发生最后收集的第三时间;
确定在所述第一和第三时间之间的第二经过时间;以及
如果第二经过时间大于收集阈值,就引起对未引用存储空间的垃圾收集。
3.根据权利要求1所述的方法,其特征在于,所述存储空间包括在引用非托 管存储空间的托管存储空间中的对象,其中所述对象所使用的所述托管存储空间要 少于与所述对象相关联的所述非托管存储空间。
4.根据权利要求1所述的方法,其特征在于,存储分配存储空间的第一时间 包含如果所述存储空间涉及图像,就存储所述分配存储空间的第一时间。
5.根据权利要求3所述的方法,其特征在于,响应于托管对象调用分配监视 器来报告由所述托管对象引用的非托管存储空间的大小,而发生存储分配存储空间 的第一时间。
6.如权利要求1所述的方法,其特征在于,所述分配阈值大于其中具有存储 器的计算机能够为图像分配其存储空间的时间。
7.根据权利要求1所述的方法,其特征在于,所述分配阈值是1秒。
8.根据权利要求1所述的方法,其特征在于,所述分配阈值在开发时被固定, 在运行时被调节,或者在运行时被选择。
9.在一种计算环境中,一种方法,包括:
在托管存储空间中创建图像对象,其中垃圾收集器收集所述托管存储空间中 不使用的存储空间;
分配非托管存储空间以放置与所述图像对象相关联的图像数据;
用所述垃圾收集器注册有关所述图像对象的终结器;
引用所述图像对象;以及
至少部分地基于在所述托管存储空间中各图像对象分配之间的时间来执行垃 圾收集。
10.根据权利要求9所述的方法,其特征在于,不使用的存储空间包括由程 序在前分配以供使用并不再被所述程序所引用的存储空间。
11.根据权利要求9所述的方法,其特征在于,还包括在收集与所述图像对 象相关联的在所述托管存储空间中的不使用的存储空间之前调用所述图像对象的 终结器方法,其中所述终结器方法将由所述图像对象引用的非托管存储空间返回至 存储空闲池。
12.根据权利要求9所述的方法,其特征在于,所述垃圾收集器包括在其中 长期生存的对象与各代相关联的分代垃圾收集器,并且其中所述垃圾收集器以比该 垃圾收集器的前一代更低的频率收集在托管存储空间中与该垃圾收集器的各后续 代相关联的不使用的存储空间。
13.根据权利要求9所述的方法,其特征在于,响应于应用编程接口调用提 供增强图形功能的API而发生在托管存储空间中创建图像对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680016249.5/1.html,转载请声明来源钻瓜专利网。