繁体   English   中英

iPhone - 释放 memory

[英]IPhone - free up memory

是否有一种程序化的方式来释放 iPhone 的 memory 与重新启动 iPhone 一样有效?

非常感谢。

No. iOS 基于 Mac OS X,并使用过度使用的 VM。 它将根据需要发布 memory。 释放你自己的东西 malloc,释放你控制的对象的所有权,实施didReceiveMemoryWarning来为你的数据集明智地行动,你应该没问题。 如果在 iOS 杀死你之前没有足够的 memory ,后台应用程序将被杀死。

简短的回答是否定的。 并同意上面的 jer。

There used to be an App which used to free memory in iPhone by allocating all free memory except 2MB on the device and then releasing it, causing the device to raise memory warning and free memory. 但是,您无法像重新启动 iPhone 一样释放 memory。

如果您使用init, new or copy分配了 memory,您有 3 个选项。

A)您可以通过调用 release function 来明确并立即release memory。

B)您可以通过调用autorelease方法创建对象来告诉 iOS“随时”释放它。

C)您可以创建自己的自动释放池来控制释放自动释放的对象,如下所示:

NSAutoreleasePool *rPool = [[NSAutoreleasePool alloc] init];
        MyObject *obj = [[[MyObject alloc] init] autorelease];
[rPool drain];

希望能回答您关于 memory 发布的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM