我真的需要回答的一個簡單問題:NSMutableArrays的最佳內存管理
哪個使用更多內存?
一個NSMutableArray
與百萬個對象或一個NSMutableArrays
一個對象的百萬?
會有甚麼區別?
我真的需要回答的一個簡單問題:NSMutableArrays的最佳內存管理
哪個使用更多內存?
一個NSMutableArray
與百萬個對象或一個NSMutableArrays
一個對象的百萬?
會有甚麼區別?
有一個對象的一百萬個NSMutableArrays會消耗更多的內存。
假設它具有一個指針和一個大小爲它的元素基本的NSMutableArray實現:
isa
,另外4到8個字節現在,這是不一定的NSMutableArray究竟是如何實現的,但它可以讓你在一個通用的實現在每種情況下的內存成本的想法。
所以你寧願採取所有這些部分之和:
sizeof(int*)
這應該給你一個想法,即1M數組將消耗更多的內存。當然,如果您需要實際的數字,您可以使用儀器進行測試。
一百萬個數組會使用更多的內存。
感謝您的支持。我意識到我可以輕鬆地在一個數組中創建100萬個數組,並且已經完成了一些測試。由於我沒有10個聲望,我不能發佈自己的答案和我使用的代碼。無論如何,結果如下:一個陣列中有一百萬個對象:峯值= 26.4MB,穩定= 11MB,時間:2.052秒。 有一個對象的一百萬個數組:峯值= 98.2MB,穩定= 11.6 MB,時間:2.614秒。我覺得這很有趣。 – alicooke