0

我正在開發基於反應可可的iOS8上的應用程序。該應用程序主要執行網絡操作。ReactiveCocoa:RAC對象在所有信號完成後仍在內存中

我注意到,當我所有的信號完成並且所有的信號參考都被清零時,當我檢查儀器時,我看到一些RAC *對象在內存中仍然存在。這是打算還是我的代碼泄漏內存?當我運行信號時,有一個活動激增,我看到很多RAC對象被分配,然後回落到這個狀態,如下面的屏幕截圖所示。

每個後續的調用都以相同的狀態結束。所以我不是很擔心它順便說一句。

http://imgur.com/sCL8Y3p

感謝,

回答

0

這些都是RAC使用,因此並不需要爲每個使用它們分配內存的所有共享全局實例。我確信這個優化有一個更好的詞,但我想不出它是什麼。例如,檢查出RACUnit

+ (RACUnit *)defaultUnit { 
    static dispatch_once_t onceToken; 
    static RACUnit *defaultUnit = nil; 
    dispatch_once(&onceToken, ^{ 
     defaultUnit = [[self alloc] init]; 
    }); 

    return defaultUnit; 
} 

由於所有RACUnit可相同,RAC從來沒有困擾,使這多個實例。這就是你所看到的。

+0

單身可能。 – depknx 2014-10-20 17:53:32

+0

雖然這不是一個單身人士,singleton是一種設計模式,是一種界面級別的東西。這是一個實現級別的事情。我想這只是實習? – 2014-10-20 19:21:18

相關問題