关于垃圾回收API的中文解说:System.pauseForGCIfCollectionImminent()

本文介绍了Flash Player 11新增的垃圾回收API——pauseForGCIfCollectionImminent()方法。该API允许应用建议最佳的垃圾回收时机,以减少对用户体验的影响。通过设置临界值参数,可以控制何时触发回收,以平衡暂停时间和内存释放。此功能特别适用于游戏等需要流畅运行的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flash Player 11 新增了这个跟垃圾回收紧密相关的API:pauseForGCIfCollectionImminent() 方法。Adobe推出中文的语言参考了:

如果垃圾回收器的临界值超过函数的临界参数,则建议回收器应完成增量回收循环。

在标记使用的内存时,Flash 运行时垃圾回收器算法将增量运行。当回收内存的未使用部分时,该算法将暂停应用程序的执行。在增量回收循环完成时发生的暂停可能比需要的时间长,并在某些程序中可以观察到或听到。应用程序可以使用此函数建议运行时完成标记并执行回收的理想时间。将潜在的暂停时间长度安排为不会引起用户注意的时间长度,这样可以提供更好的用户体验。例如,游戏在完成某个级别时可能会调用此函数,从而减少在游戏进行过程中发生暂停的次数。

临界值定义为距离回收器设定标记还有多远,即距离触发回收暂停还有多远。此函数的临界值参数是一个阈值:仅当实际临界值超出阈值时才调用垃圾回收器。否则,此调用将立即返回,不采取任何操作。

通过使用较低的临界值调用此函数,应用程序表示其愿意接受必须完成相对大量的标记。另一方面,较高的临界值表示仅当标记几乎完成时才应暂停应用程序。通常,前一种情况下的暂停时间比后一种情况下的暂停时间要长。

所释放的内存量不取决于临界参数。其仅取决于可释放对象的数量。如果应用程序最近释放了对较大数据结构或大量对象的引用,则较低的临界参数将容易触发一个将立即释放这些对象的集合。

参数 imminence:Number (default = 0.75) — 一个介于 0 和 1 之间的数字,其中 0 表示不紧急,1 表示最紧急。小于 0 的值默认为 0.25。大于 1.0 的值默认为 1.0。NaN 默认为 0.75

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值