我正在制作一个应用程序,其中包含一些带有 UIDatePicker 控件的视图控制器。
在有很多内存警告之后,我已经对原因进行了很多调试。使用工具,我可以看到每当包含 UIDatePicker 的视图控制器出现时,内存使用量就会增加 2-3mb。最终,这会导致内存警告。虽然我可以在这里做很多事情,并且自从重写这些函数以来,崩溃的次数急剧减少,但我仍然对这种行为感到不舒服,并想修复它。
UIDatePicker 是 XIB 文件的一部分。我已经尝试将它们从 XIB 中取出并以编程方式添加它们。这并不能解决问题。我也尝试过使用(线程安全的)单例。这将内存使用限制为仅一个实例(因此内存使用不会增加),但我试图尽可能避免单例。我应该把它吸起来吗?使用单例?
我在运行它的所有设备上都在 iOS 5 和 4.3 上看到了这种行为。正如标题所示,我正在使用 ARC。
Instruments 没有显示任何内存泄漏。
这是 Instruments 的截图。使用的每一步都是在出现包含日期选择器的 VC 时。图表开头的基线是 2.3mb 的内存使用量。
http://i.stack.imgur.com/1S7ns.png
干杯!