我正在Objective-C中为iOS编写一个键盘扩展。 viewController1某一点,我呈现了另一个View Controller by

CustomViewController *viewController2 = [[CustomViewController alloc] init];
[self presentViewController:viewController2 animated:NO completion:nil];

在以下情形中会出现此问题:另一个应用程序打开,我的扩展名为活动键盘。 正在显示viewController2并退出扩展(通过按主页按钮)。 当应用程序重新启动时, viewController2不再显示,但viewController1是。 从内存消耗中我可以看到viewController2仍在内存中。 由于内存消耗过多,重复本段中的步骤很快就会导致崩溃。

viewController2中执行普通用户操作后不会发生这种情况

[self dismissViewControllerAnimated:NO completion:nil];

叫做。 此外,我100%确定没有强引用可能导致内存泄漏。 我还试图在( viewWillDisappear等)调用dismissViewControllerAnimated:NO时收到一条消息dismissViewControllerAnimated:NO ,但似乎按下主页按钮会立即杀死扩展名。

viewController1是一个UIInputViewController ,充当CLLocationManagerUICollectionViewviewController2是一个UIViewController ,根本不作为委托。 我不保留任何参考viewController1viewController2 ,并从一个很脆弱的viewController2viewController1

@property (weak, nonatomic) viewController1 *parent;

有谁知道发生了什么? 我该怎么做才能防止这种情况发生?

非常感谢你的帮助!

  ask by fat32 translate from so

本文未有回复,本站智能推荐:

1回复

iOS模拟器中指示使用ARC的内存泄漏

我不知何故看到模拟器中的内存增加了(正在运行的条形图)。 我有一个名为MyObject的对象,它只有一个int 。 在其他一些类中(例如MyCar.h中的MyCar ),我有一个MyObject数组,例如MyObject* junk[8]; 以及按索引返回特定对象的方法:
2回复

NSPlaceholderString内存泄漏与ARC

目前我用ARC开发了一个iOS应用程序。 该应用程序是一个带有两个TableViewControllers的故事板应用程序。 问题是,在下列情况下,仪器显示内存泄漏: 启动应用程序 - > MainViewController加载 - >按Home键 - >出
2回复

BlogEntry的内存泄漏在哪里?

我正在分析iPhone的iOS 4应用程序,并收到以下日志: BlogViewController的dataReceived方法是这样的: 但我认为问题出在BlogEntry类中: BlogEntry.h BlogEntry.m 你知道我的内存泄漏在哪里吗?
3回复

iPhone:涉及NSString的内存泄漏

如果用户对自己的照片库进行了更改,我这里有一些代码可以更新ALAssetGroup (相册): 它可以正常工作,但是直到我得到一个“ signalbrt”和一个对应的“ -[UIButtonContent isEqualToString:]: unrecognized selector
1回复

删除MKMapView注释会导致泄漏

我已经开发了一组非常复杂的Web服务,并搜索下面简单的代码。 我需要能够在地图中添加注释以响应搜索(或在下面的示例中点击按钮),然后允许用户再次单击该按钮并获得一组新结果。 实际上会有不同的数字,但在简化的示例中,我们总是在mapview中添加一个注释。 我相信我的代码应该删除现有的注释并
4回复

iPhone - 内存泄漏 - NSData dataWithContentsOfUrl和UIWebView

请帮忙! 一直盯着这个12个小时; 并已在线查找,无法找到解决方案。 在我的应用程序中,我在单独的页面/控制器中使用2个UIView控件: UIImageView(通过NSData dataWithContentsOfUrl检索数据) UIWebView的 为
3回复

我可以使用自动释放来解决此内存泄漏吗?

我的iPhone应用程序中有内存泄漏。 我使用从Google下载的示例代码将Google AdMob添加到了我的应用中。 但是,我很难进入测试模式,因此添加了一个额外的变量,如下所示: 我发现使用Instruments发生内存泄漏。 Instruments不会将我引到这行代码,它只
4回复

如何使用__block和完成块来避免内存泄漏

我有一种情况,需要使用访问所述对象的完成块来初始化对象。 为了使这种访问成为可能,该对象被定义为__block。 问题是这个对象永远不会被释放。 看一下下面的例子。 一切都很好,除了myViewController的dealloc从导航堆栈中弹出时从不被调用。 当我删除__blo
2回复

iPhone应用程序在运行时检测内存泄漏

有没有办法以编程方式在iPhone应用程序中找出运行时的内存泄漏?
1回复

分析显示循环的每个迭代中都有泄漏

分析表明,每次迭代中都有一个MSVenue对象泄漏,而一个数组对象泄漏。 fetchedRecords是从executeFetchRequest:方法返回的数组,我确定会返回一个自动释放的数组。