iOS

Memory Management & ARC

ARC、strong/weak/unowned、retain cycle、capture list、メモリリーク、プロファイリング

22 面接問題·
Senior
1

iOSにおけるARC(Automatic Reference Counting)とは何ですか?

回答

ARCはオブジェクトへの参照をカウントする自動メモリ管理メカニズムです。コンパイラがretainとreleaseの呼び出しを自動的に挿入し、手動でのメモリ管理を不要にします。参照カウントがゼロになると、オブジェクトは解放されます。ARCは一般的なメモリリークを防ぐことで、iOSプログラミングを大幅に簡素化します。

2

ARCにおけるstrong referenceとは何ですか?

回答

strong referenceは参照先オブジェクトの参照カウントを増加させます。デフォルトでは、すべての変数はstrong referenceです。少なくとも1つのstrong referenceがオブジェクトを指している限り、オブジェクトはメモリに残ります。strong referenceを使いすぎると、解放を妨げるretain cycleが発生する可能性があります。

3

retain cycle(循環参照)とは何ですか?

回答

retain cycleは、2つ以上のオブジェクトが互いにstrong referenceを保持しているときに発生します。それぞれが相手の参照カウントがゼロに達するのを妨げるため、どちらも解放できません。これによりメモリリークが発生します。retain cycleは、循環関係でweakまたはunowned referenceを使用することで防止できます。

4

ARCのメモリ管理におけるdeinitの役割は何ですか?

5

weak referenceとunowned referenceの違いは何ですか?

+19 面接問題

次の面接に向けてiOSをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める