我正在阅读有关各种语言的内存管理的文章,其中提到Objective-C没有托管内存,因为它会导致移动应用程序的用户体验出现中断。
我知道ARC无法处理循环引用,而Python的GC可以。我知道ARC根本不是垃圾收集器,因此它不会停止主程序的执行来执行内存管理。
Python是否可以使用混合方法?同时采取一些ARC的优点,并在较短的时间内(或较短的时间内)运行GC,以便仍然能够处理循环引用?
或者Python社区是否尝试过类似的事情?
编辑:我知道Python使用引用计数,但据我所知,当引用计数为0的对象并不会立即从内存中删除(这是ARC的做法)。我想知道立即释放该对象占用的内存是否可以使Python更适用于低内存环境,并且因为在这种情况下GC可能运行得更少,它会导致较少的线程中断。两件事对于移动应用程序来说都是理想的,因为它们可以提高用户体验。
我知道ARC无法处理循环引用,而Python的GC可以。我知道ARC根本不是垃圾收集器,因此它不会停止主程序的执行来执行内存管理。
Python是否可以使用混合方法?同时采取一些ARC的优点,并在较短的时间内(或较短的时间内)运行GC,以便仍然能够处理循环引用?
或者Python社区是否尝试过类似的事情?
编辑:我知道Python使用引用计数,但据我所知,当引用计数为0的对象并不会立即从内存中删除(这是ARC的做法)。我想知道立即释放该对象占用的内存是否可以使Python更适用于低内存环境,并且因为在这种情况下GC可能运行得更少,它会导致较少的线程中断。两件事对于移动应用程序来说都是理想的,因为它们可以提高用户体验。