- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个奇怪的僵尸错误,它似乎是从一个长期存在的应用程序中偷偷摸摸的。我喜欢认为我知道自己在做什么,僵尸通常很容易修复,但这个让我感到困惑。
Instruments 报告僵尸对象是我作为模态视图 (MyPopUpViewController) 呈现的 View 。下面是呈现模态视图 Controller 的代码。
MyPopUpViewController *popUpViewController =
[[MyPopUpViewController alloc] init];
UINavigationController *navigationController =
[[UINavigationController alloc] initWithRootViewController:popUpViewController];
[popUpViewController release];
[self.tabBarController presentModalViewController:navigationController animated:YES]; // zombie occurs here
[navigationController release];
在 MyPopUpViewConroller 中,当用户点击导航栏上的“完成”时,模态视图 Controller 将被关闭 - 标准的东西,并且在 100 次(或更多次)中有 99 次工作。
但是,如果我快速进出模态对话框,并且仅在模拟器(我见过的)上,我会在下面报告僵尸。
现在,我相信如果我将 MyPopUpViewController 推送到导航 Controller ,它将被导航 Controller 保留,所以我可以安全地释放它。同样,tabBarController 将保留导航 Controller ,所以我也可以安全地释放它,如代码所示。
根据 Instruments 诊断,这些是我唯一保留/发布的 MyPopUpViewController(请参阅“负责”列中对“myapp”的引用),后来 [显然?] 导致僵尸的是 iOS 内部结构。
我很感激关于为什么我会看到这个僵尸的建议。谢谢。
# Address Category Event Type RefCt Timestamp Size Responsible Library Responsible Caller
0 0x14532980 MyPopUpViewController Malloc 1 00:10.669.925 176 myapp -[MyPopUpViewController tableView:didSelectRowAtIndexPath:]
1 0x14532980 MyPopUpViewController Retain 2 00:10.670.707 0 UIKit -[UIViewController _addChildViewController:performHierarchyCheck:]
2 0x14532980 MyPopUpViewController Retain 3 00:10.670.721 0 UIKit -[UINavigationController topViewController]
3 0x14532980 MyPopUpViewController Autorelease <null> 00:10.670.723 0 UIKit -[UINavigationController topViewController]
4 0x14532980 MyPopUpViewController Release 2 00:10.671.467 0 myapp -[MyPopUpViewController tableView:didSelectRowAtIndexPath:]
5 0x14532980 MyPopUpViewController Retain 3 00:10.671.494 0 UIKit -[UINavigationController topViewController]
6 0x14532980 MyPopUpViewController Autorelease <null> 00:10.671.496 0 UIKit -[UINavigationController topViewController]
7 0x14532980 MyPopUpViewController Retain 4 00:10.671.497 0 UIKit -[UINavigationController topViewController]
8 0x14532980 MyPopUpViewController Autorelease <null> 00:10.671.497 0 UIKit -[UINavigationController topViewController]
9 0x14532980 MyPopUpViewController Retain 5 00:10.672.129 0 UIKit -[UINavigationController topViewController]
10 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.130 0 UIKit -[UINavigationController topViewController]
11 0x14532980 MyPopUpViewController Retain 6 00:10.672.131 0 UIKit -[UINavigationController topViewController]
12 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.132 0 UIKit -[UINavigationController topViewController]
13 0x14532980 MyPopUpViewController Retain 7 00:10.672.138 0 UIKit -[UINavigationController topViewController]
14 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.139 0 UIKit -[UINavigationController topViewController]
15 0x14532980 MyPopUpViewController Retain 8 00:10.672.140 0 UIKit -[UINavigationController topViewController]
16 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.141 0 UIKit -[UINavigationController topViewController]
17 0x14532980 MyPopUpViewController Retain 9 00:10.672.489 0 UIKit -[UINavigationController topViewController]
18 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.490 0 UIKit -[UINavigationController topViewController]
19 0x14532980 MyPopUpViewController Retain 10 00:10.672.491 0 UIKit -[UINavigationController topViewController]
20 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.492 0 UIKit -[UINavigationController topViewController]
21 0x14532980 MyPopUpViewController Retain 11 00:10.672.796 0 UIKit -[UINavigationController topViewController]
22 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.797 0 UIKit -[UINavigationController topViewController]
23 0x14532980 MyPopUpViewController Retain 12 00:10.672.801 0 UIKit -[UINavigationController topViewController]
24 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.802 0 UIKit -[UINavigationController topViewController]
25 0x14532980 MyPopUpViewController Retain 13 00:10.672.804 0 UIKit -[UINavigationController topViewController]
26 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.804 0 UIKit -[UINavigationController topViewController]
27 0x14532980 MyPopUpViewController Retain 14 00:10.672.829 0 UIKit -[UINavigationController topViewController]
28 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.830 0 UIKit -[UINavigationController topViewController]
29 0x14532980 MyPopUpViewController Retain 15 00:10.672.830 0 UIKit -[UINavigationController topViewController]
30 0x14532980 MyPopUpViewController Autorelease <null> 00:10.672.832 0 UIKit -[UINavigationController topViewController]
31 0x14532980 MyPopUpViewController Retain 16 00:10.686.674 0 UIKit -[UINib instantiateWithOwner:options:]
32 0x14532980 MyPopUpViewController Retain 17 00:10.686.696 0 UIKit +[UIProxyObject addMappingFromIdentifier:toObject:forCoder:]
33 0x14532980 MyPopUpViewController Retain 18 00:10.687.241 0 UIKit -[UIProxyObject initWithCoder:]
34 0x14532980 MyPopUpViewController Retain 19 00:10.687.244 0 UIKit -[UIRuntimeConnection initWithCoder:]
35 0x14532980 MyPopUpViewController Retain 20 00:10.687.254 0 UIKit -[UIRuntimeConnection initWithCoder:]
36 0x14532980 MyPopUpViewController Retain 21 00:10.687.261 0 UIKit -[UIRuntimeConnection initWithCoder:]
37 0x14532980 MyPopUpViewController Retain 22 00:10.687.270 0 UIKit -[UIRuntimeConnection initWithCoder:]
38 0x14532980 MyPopUpViewController Retain 23 00:10.689.785 0 UIKit UINibDecoderDecodeObjectForValue
39 0x14532980 MyPopUpViewController Retain 24 00:10.689.806 0 UIKit UINibDecoderDecodeObjectForValue
40 0x14532980 MyPopUpViewController Release 23 00:10.690.037 0 UIKit -[UINib instantiateWithOwner:options:]
41 0x14532980 MyPopUpViewController Release 22 00:10.690.056 0 UIKit +[UIProxyObject removeMappingsForCoder:]
42 0x14532980 MyPopUpViewController Release 21 00:10.690.086 0 UIKit -[UINibDecoder finishDecoding]
43 0x14532980 MyPopUpViewController Release 20 00:10.690.117 0 UIKit -[UINibDecoder finishDecoding]
44 0x14532980 MyPopUpViewController Release 19 00:10.690.124 0 UIKit -[UIRuntimeConnection dealloc]
45 0x14532980 MyPopUpViewController Release 18 00:10.690.134 0 UIKit -[UIRuntimeConnection dealloc]
46 0x14532980 MyPopUpViewController Release 17 00:10.690.155 0 UIKit -[UINibDecoder finishDecoding]
47 0x14532980 MyPopUpViewController Release 16 00:10.690.166 0 UIKit -[UIRuntimeConnection dealloc]
48 0x14532980 MyPopUpViewController Release 15 00:10.690.174 0 UIKit -[UIRuntimeConnection dealloc]
49 0x14532980 MyPopUpViewController Retain 16 00:10.690.494 0 UIKit -[UINavigationController topViewController]
50 0x14532980 MyPopUpViewController Autorelease <null> 00:10.690.497 0 UIKit -[UINavigationController topViewController]
51 0x14532980 MyPopUpViewController Retain 17 00:10.690.510 0 UIKit -[UINavigationController topViewController]
52 0x14532980 MyPopUpViewController Autorelease <null> 00:10.690.511 0 UIKit -[UINavigationController topViewController]
53 0x14532980 MyPopUpViewController Retain 18 00:10.690.521 0 UIKit -[UINavigationController topViewController]
54 0x14532980 MyPopUpViewController Autorelease <null> 00:10.690.522 0 UIKit -[UINavigationController topViewController]
55 0x14532980 MyPopUpViewController Retain 19 00:10.695.693 0 UIKit -[UINavigationController topViewController]
56 0x14532980 MyPopUpViewController Autorelease <null> 00:10.695.693 0 UIKit -[UINavigationController topViewController]
57 0x14532980 MyPopUpViewController Retain 20 00:10.695.704 0 UIKit -[UINavigationController _startTransition:fromViewController:toViewController:]
58 0x14532980 MyPopUpViewController Release 19 00:10.695.721 0 UIKit -[UINavigationController _startTransition:fromViewController:toViewController:]
59 0x14532980 MyPopUpViewController Retain 20 00:10.701.163 0 UIKit -[UINavigationController topViewController]
60 0x14532980 MyPopUpViewController Autorelease <null> 00:10.701.164 0 UIKit -[UINavigationController topViewController]
61 0x14532980 MyPopUpViewController Retain 21 00:10.701.212 0 UIKit -[UIResponder becomeFirstResponder]
62 0x14532980 MyPopUpViewController Release 20 00:10.701.235 0 UIKit -[UIResponder becomeFirstResponder]
63 0x14532980 MyPopUpViewController Retain 21 00:10.701.302 0 UIKit -[UINavigationController topViewController]
64 0x14532980 MyPopUpViewController Autorelease <null> 00:10.701.302 0 UIKit -[UINavigationController topViewController]
65 0x14532980 MyPopUpViewController Retain 22 00:10.701.304 0 UIKit -[UINavigationController topViewController]
66 0x14532980 MyPopUpViewController Autorelease <null> 00:10.701.304 0 UIKit -[UINavigationController topViewController]
67 0x14532980 MyPopUpViewController Retain 23 00:10.701.342 0 UIKit -[UINavigationController navigationTransitionView:didEndTransition:fromView:toView:]
68 0x14532980 MyPopUpViewController Release 22 00:10.701.356 0 UIKit -[UINavigationController navigationTransitionView:didEndTransition:fromView:toView:]
69 0x14532980 MyPopUpViewController Retain 23 00:10.701.386 0 UIKit -[UINavigationController topViewController]
70 0x14532980 MyPopUpViewController Autorelease <null> 00:10.701.387 0 UIKit -[UINavigationController topViewController]
71 0x14532980 MyPopUpViewController Retain 24 00:10.701.399 0 UIKit -[UIResponder becomeFirstResponder]
72 0x14532980 MyPopUpViewController Release 23 00:10.701.414 0 UIKit -[UIResponder becomeFirstResponder]
73 0x14532980 MyPopUpViewController Release 22 00:10.701.762 0 GraphicsServices GSEventRunModal
74 0x14532980 MyPopUpViewController Release 21 00:10.701.774 0 GraphicsServices GSEventRunModal
75 0x14532980 MyPopUpViewController Release 20 00:10.701.775 0 GraphicsServices GSEventRunModal
76 0x14532980 MyPopUpViewController Release 19 00:10.701.809 0 GraphicsServices GSEventRunModal
77 0x14532980 MyPopUpViewController Release 18 00:10.701.821 0 GraphicsServices GSEventRunModal
78 0x14532980 MyPopUpViewController Release 17 00:10.701.943 0 GraphicsServices GSEventRunModal
79 0x14532980 MyPopUpViewController Release 16 00:10.701.945 0 GraphicsServices GSEventRunModal
80 0x14532980 MyPopUpViewController Release 15 00:10.701.947 0 GraphicsServices GSEventRunModal
81 0x14532980 MyPopUpViewController Release 14 00:10.701.985 0 GraphicsServices GSEventRunModal
82 0x14532980 MyPopUpViewController Release 13 00:10.701.985 0 GraphicsServices GSEventRunModal
83 0x14532980 MyPopUpViewController Release 12 00:10.701.989 0 GraphicsServices GSEventRunModal
84 0x14532980 MyPopUpViewController Release 11 00:10.701.989 0 GraphicsServices GSEventRunModal
85 0x14532980 MyPopUpViewController Release 10 00:10.701.990 0 GraphicsServices GSEventRunModal
86 0x14532980 MyPopUpViewController Release 9 00:10.702.017 0 GraphicsServices GSEventRunModal
87 0x14532980 MyPopUpViewController Release 8 00:10.702.018 0 GraphicsServices GSEventRunModal
88 0x14532980 MyPopUpViewController Release 7 00:10.702.039 0 GraphicsServices GSEventRunModal
89 0x14532980 MyPopUpViewController Release 6 00:10.702.040 0 GraphicsServices GSEventRunModal
90 0x14532980 MyPopUpViewController Release 5 00:10.702.041 0 GraphicsServices GSEventRunModal
91 0x14532980 MyPopUpViewController Release 4 00:10.702.042 0 GraphicsServices GSEventRunModal
92 0x14532980 MyPopUpViewController Release 3 00:10.702.051 0 GraphicsServices GSEventRunModal
93 0x14532980 MyPopUpViewController Release 2 00:10.702.052 0 GraphicsServices GSEventRunModal
94 0x14532980 MyPopUpViewController Release 1 00:10.702.096 0 GraphicsServices GSEventRunModal
95 0x14532980 MyPopUpViewController Retain 2 00:10.702.195 0 UIKit -[UINavigationController topViewController]
96 0x14532980 MyPopUpViewController Autorelease <null> 00:10.702.196 0 UIKit -[UINavigationController topViewController]
97 0x14532980 MyPopUpViewController Release 1 00:10.709.439 0 QuartzCore CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*)
98 0x14532980 MyPopUpViewController Retain 2 00:11.110.856 0 UIKit -[UINavigationController topViewController]
99 0x14532980 MyPopUpViewController Autorelease <null> 00:11.110.856 0 UIKit -[UINavigationController topViewController]
100 0x14532980 MyPopUpViewController Retain 3 00:11.110.858 0 UIKit -[UINavigationController topViewController]
101 0x14532980 MyPopUpViewController Autorelease <null> 00:11.110.859 0 UIKit -[UINavigationController topViewController]
102 0x14532980 MyPopUpViewController Retain 4 00:11.110.924 0 UIKit -[UINavigationController topViewController]
103 0x14532980 MyPopUpViewController Autorelease <null> 00:11.110.925 0 UIKit -[UINavigationController topViewController]
104 0x14532980 MyPopUpViewController Release 3 00:11.111.052 0 GraphicsServices GSEventRunModal
105 0x14532980 MyPopUpViewController Release 2 00:11.111.053 0 GraphicsServices GSEventRunModal
106 0x14532980 MyPopUpViewController Release 1 00:11.111.054 0 GraphicsServices GSEventRunModal
107 0x14532980 MyPopUpViewController Retain 2 00:12.862.301 0 UIKit -[UINavigationController topViewController]
108 0x14532980 MyPopUpViewController Autorelease <null> 00:12.862.303 0 UIKit -[UINavigationController topViewController]
109 0x14532980 MyPopUpViewController Retain 3 00:12.862.304 0 UIKit -[UINavigationController topViewController]
110 0x14532980 MyPopUpViewController Autorelease <null> 00:12.862.305 0 UIKit -[UINavigationController topViewController]
111 0x14532980 MyPopUpViewController Retain 4 00:12.862.370 0 UIKit -[UINavigationController topViewController]
112 0x14532980 MyPopUpViewController Autorelease <null> 00:12.862.371 0 UIKit -[UINavigationController topViewController]
113 0x14532980 MyPopUpViewController Retain 5 00:12.862.373 0 UIKit -[UINavigationController visibleViewController]
114 0x14532980 MyPopUpViewController Autorelease <null> 00:12.862.374 0 UIKit -[UINavigationController visibleViewController]
115 0x14532980 MyPopUpViewController Retain 6 00:12.862.376 0 UIKit -[UINavigationController visibleViewController]
116 0x14532980 MyPopUpViewController Autorelease <null> 00:12.862.377 0 UIKit -[UINavigationController visibleViewController]
117 0x14532980 MyPopUpViewController Retain 7 00:12.862.774 0 UIKit -[UINavigationController topViewController]
118 0x14532980 MyPopUpViewController Autorelease <null> 00:12.862.776 0 UIKit -[UINavigationController topViewController]
119 0x14532980 MyPopUpViewController Release 6 00:12.877.586 0 Foundation -[NSAutoreleasePool release]
120 0x14532980 MyPopUpViewController Release 5 00:12.877.604 0 Foundation -[NSAutoreleasePool release]
121 0x14532980 MyPopUpViewController Release 4 00:12.877.604 0 Foundation -[NSAutoreleasePool release]
122 0x14532980 MyPopUpViewController Release 3 00:12.877.605 0 Foundation -[NSAutoreleasePool release]
123 0x14532980 MyPopUpViewController Release 2 00:12.877.610 0 Foundation -[NSAutoreleasePool release]
124 0x14532980 MyPopUpViewController Release 1 00:12.877.611 0 Foundation -[NSAutoreleasePool release]
125 0x14532980 MyPopUpViewController Retain 2 00:13.292.620 0 UIKit -[UINavigationController topViewController]
126 0x14532980 MyPopUpViewController Autorelease <null> 00:13.292.621 0 UIKit -[UINavigationController topViewController]
127 0x14532980 MyPopUpViewController Release 1 00:13.292.700 0 UIKit -[UIViewController dealloc]
128 0x14532980 MyPopUpViewController Release 0 00:13.292.853 0 GraphicsServices GSEventRunModal
129 0x14532980 MyPopUpViewController Zombie -1 00:13.439.920 0 UIKit -[UIPickerView _sendSelectionChangedForComponent:]
最佳答案
僵尸可能是您在 MyPopUpViewController
中管理的某个对象吗?我注意到僵尸错误消息指的是 [UIPickerView _sendSelectionChangedForComponent:]
。我想知道这与 Controller 有什么关系?
一种可能是 UIPicker
正在尝试向其委托(delegate)(我想是您的 Controller )发送消息在模态被关闭之后。解决此问题的一种方法是在 Controller 的 release
方法中将 UIPicker
delegate
属性设置为 nil
。请试一试;希望对您有所帮助....
关于ios - presentModalViewController 导致神秘的僵尸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877832/
IO 设备如何知道属于它的内存中的值在memory mapped IO 中发生了变化? ? 例如,假设内存地址 0 专用于保存 VGA 设备的背景颜色。当我们更改 memory[0] 中的值时,VGA
我目前正在开发一个使用Facebook sdk登录(通过FBLoginView)的iOS应用。 一切正常,除了那些拥有较旧版本的facebook的人。 当他们按下“使用Facebook登录”按钮时,他
假设我有: this - is an - example - with some - dashesNSRange将使用`rangeOfString:@“-”拾取“-”的第一个实例,但是如果我只想要最后
Card.io SDK提供以下详细信息: 卡号,有效期,月份,年份,CVV和邮政编码。 如何从此SDK获取国家名称。 - (void)userDidProvideCreditCardInfo:(Car
iOS 应用程序如何从网络服务下载图片并在安装过程中将它们安装到用户的 iOS 设备上?可能吗? 最佳答案 您无法控制应用在用户设备上的安装,因此无法在安装过程中下载其他数据。 只需在安装后首次启动应
我曾经开发过一款企业版 iOS 产品,我们公司曾将其出售给大型企业,供他们的员工使用。 该应用程序通过 AppStore 提供,企业用户获得了公司特定的配置文件(包含应用程序配置文件)以启用他们有权使
我正在尝试将 Card.io SDK 集成到我的 iOS 应用程序中。我想为 CardIO ui 做一个简单的本地化,如更改取消按钮标题或“在此保留信用卡”提示文本。 我在 github 上找到了这个
我正在使用 CardIOView 和 CardIOViewDelegate 类,没有可以设置为 YES 的 BOOL 来扫描 collectCardholderName。我可以看到它在 CardIOP
我有一个集成了通话工具包的 voip 应用程序。每次我从我的 voip 应用程序调用时,都会在 native 电话应用程序中创建一个新的最近通话记录。我在 voip 应用程序中也有自定义联系人(电话应
iOS 应用程序如何知道应用程序打开时屏幕上是否已经有键盘?应用程序运行后,它可以接收键盘显示/隐藏通知。但是,如果应用程序在分屏模式下作为辅助应用程序打开,而主应用程序已经显示键盘,则辅助应用程序不
我在模拟器中收到以下错误: ImageIO: CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedIm
如 Apple 文档所示,可以通过 EAAccessory Framework 与经过认证的配件(由 Apple 认证)进行通信。但是我有点困惑,因为一些帖子告诉我它也可以通过 CoreBluetoo
尽管现在的调试器已经很不错了,但有时找出应用程序中正在发生的事情的最好方法仍然是古老的 NSLog。当您连接到计算机时,这样做很容易; Xcode 会帮助弹出日志查看器面板,然后就可以了。当您不在办公
在我的 iOS 应用程序中,我定义了一些兴趣点。其中一些有一个 Kontakt.io 信标的名称,它绑定(bind)到一个特定的 PoI(我的意思是通常贴在信标标签上的名称)。现在我想在附近发现信标,
我正在为警报提示创建一个 trigger.io 插件。尝试从警报提示返回数据。这是我的代码: // Prompt + (void)show_prompt:(ForgeTask*)task{
您好,我是 Apple iOS 的新手。我阅读并搜索了很多关于推送通知的文章,但我没有发现任何关于 APNS 从 io4 到 ios 6 的新更新的信息。任何人都可以向我提供 APNS 如何在 ios
UITabBar 的高度似乎在 iOS 7 和 8/9/10/11 之间发生了变化。我发布这个问题是为了让其他人轻松找到答案。 那么:在 iPhone 和 iPad 上的 iOS 8/9/10/11
我想我可以针对不同的 iOS 版本使用不同的 Storyboard。 由于 UI 的差异,我将创建下一个 Storyboard: Main_iPhone.storyboard Main_iPad.st
我正在写一些东西,我将使用设备的 iTunes 库中的一部分音轨来覆盖 2 个视频的组合,例如: AVMutableComposition* mixComposition = [[AVMutableC
我创建了一个简单的 iOS 程序,可以顺利编译并在 iPad 模拟器上运行良好。当我告诉 XCode 4 使用我连接的 iPad 设备时,无法编译相同的程序。问题似乎是当我尝试使用附加的 iPad 时
我是一名优秀的程序员,十分优秀!