【发布时间】:2011-02-23 07:22:26
【问题描述】:
我正在为一些共享的东西使用单例。在模拟器中,应用程序偶尔会崩溃。跟踪崩溃表明我的单例的属性已被释放。这些崩溃从未发生在真实设备上。模拟器处理内存管理是否不同? GC可能吗?
更改了单例以匹配 this pattern。模拟器现在不会崩溃,但我不确定真实设备上的内存处理。我认为这个解决方案会导致问题。
你怎么看?
【问题讨论】:
标签: ios singleton ios-simulator
我正在为一些共享的东西使用单例。在模拟器中,应用程序偶尔会崩溃。跟踪崩溃表明我的单例的属性已被释放。这些崩溃从未发生在真实设备上。模拟器处理内存管理是否不同? GC可能吗?
更改了单例以匹配 this pattern。模拟器现在不会崩溃,但我不确定真实设备上的内存处理。我认为这个解决方案会导致问题。
你怎么看?
【问题讨论】:
标签: ios singleton ios-simulator
您可能在第一次尝试时弄错了单例。至少在原则上,模拟器上的内存管理与设备上的工作方式相同。实际上,由于时间问题或模拟器有足够的内存并且不会向您发送内存警告,因此存在一些差异。但这些差异不会影响正确编写的单例。
链接的单例代码看起来不错。在我看来,您最好使用 get rid of the singletons completely 并使用 Interface Builder 或依赖注入连接您的应用程序。
【讨论】: