Iphone iOS-有没有办法触发内存清理?

Iphone iOS-有没有办法触发内存清理?,iphone,ios4,ios5,Iphone,Ios4,Ios5,我发现(例如)一个UI对象,比如UIPickerView,经常被分配和释放,即使调用了相应的dealloc方法(通过使用工具证明),堆仍然会增长 有没有办法触发自动释放池的优化以改善整个场景 我的应用程序需要拍照,管理照片和上传到服务器。随着时间的推移,堆变得越来越大,最终使我的应用程序崩溃。**我检查了使用仪器时没有明显的内存泄漏 有什么帮助或建议吗 谢谢。您可以在对应用程序有意义的地方创建自己的自动释放池。以下创建自动释放池的方法可以使用或不使用ARC // Stuff you plan t

我发现(例如)一个UI对象,比如UIPickerView,经常被分配和释放,即使调用了相应的dealloc方法(通过使用工具证明),堆仍然会增长

有没有办法触发自动释放池的优化以改善整个场景

我的应用程序需要拍照,管理照片和上传到服务器。随着时间的推移,堆变得越来越大,最终使我的应用程序崩溃。**我检查了使用仪器时没有明显的内存泄漏

有什么帮助或建议吗


谢谢。

您可以在对应用程序有意义的地方创建自己的自动释放池。以下创建自动释放池的方法可以使用或不使用ARC

// Stuff you plan to keep around after finishing the block below
@autoreleasepool {
    // Load an image, send to server
}
// The images are released

听起来你的记忆力需要一些时间才能失控。如果您在主UI运行循环中执行工作,则应该定期进行自动释放,因此我不确定另一个自动释放池是否会对您有所帮助。也许您保存您的引用的方式使它们不会被发布,因为它们仍然可以被使用。由于未从数组、集合和字典中删除对象,因此发生了许多泄漏。

请尝试使用ARC功能。Xcode中有“折射器”菜单,可以将旧样式转换为圆弧环境。