I have a table that is using
NSMutableArray`. テーブルを更新すると、配列内のすべての項目を再読み込みする必要があります。
2つのオプションがあります
a) 新しいものを作り直しNSMUtableArray
、古いものを捨てる
b)既存の配列からすべてのアイテムを削除し、再度再ロードします
パフォーマンス/メモリなどの観点から、iOS の世界で最も効率的なオプションは何ですか?
I have a table that is using
NSMutableArray`. テーブルを更新すると、配列内のすべての項目を再読み込みする必要があります。
2つのオプションがあります
a) 新しいものを作り直しNSMUtableArray
、古いものを捨てる
b)既存の配列からすべてのアイテムを削除し、再度再ロードします
パフォーマンス/メモリなどの観点から、iOS の世界で最も効率的なオプションは何ですか?
古いNSMutableArray
ものを再利用すると、同じメモリが再利用されるため、より効率的になります (配列からすべての要素を削除しても、メモリは解放されません)。ただし、パフォーマンスに影響を与えるには何千回も実行する必要があるため、これが状況でパフォーマンスに顕著な影響を与える可能性は低いです。
パフォーマンスの観点からは、新しい NSMutableArray オブジェクトをインスタンス化して古いオブジェクトを解放するか、ARC を使用している場合はコンパイラに古いオブジェクトを解放させるのが最善の策だと思います。
メモリ占有の観点からは、インスタンスをクリアして再度リロードする方がよいでしょう。これは、アプリケーション内で常に 2 つのインスタンスを使用することはないためです。ただし、これは大きな配列の場合にのみ役立ちます。
ほとんどの場合のように、最良の選択はコンテキストに関連しています...