【问题标题】:Singleton on the Simulator vs singleton on a real device?模拟器上的单例与真实设备上的单例?
【发布时间】:2011-02-23 07:22:26
【问题描述】:

我正在为一些共享的东西使用单例。在模拟器中,应用程序偶尔会崩溃。跟踪崩溃表明我的单例的属性已被释放。这些崩溃从未发生在真实设备上。模拟器处理内存管理是否不同? GC可能吗?

更改了单例以匹配 this pattern。模拟器现在不会崩溃,但我不确定真实设备上的内存处理。我认为这个解决方案会导致问题。

你怎么看?

【问题讨论】:

    标签: ios singleton ios-simulator


    【解决方案1】:

    您可能在第一次尝试时弄错了单例。至少在原则上,模拟器上的内存管理与设备上的工作方式相同。实际上,由于时间问题或模拟器有足够的内存并且不会向您发送内存警告,因此存在一些差异。但这些差异不会影响正确编写的单例。

    链接的单例代码看起来不错。在我看来,您最好使用 get rid of the singletons completely 并使用 Interface Builder 或依赖注入连接您的应用程序。

    【讨论】:

    • 谢谢。即使是单人也很好,而且崩溃似乎已经消失,但他似乎仍然在释放财产。导致问题的属性是指向对象的指针。让它们工作,改变它们偶尔会导致模拟器崩溃。看来我又监督了一些基本的东西。:/
    • 向我们展示一个short sample 的无效代码。很有可能你把单例类的属性弄错了。
    猜你喜欢
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2013-06-30
    相关资源
    最近更新 更多