2

....または、自分でメモリを管理することを学ぶ必要がありますか?

iOS 5 のガベージ コレクション機能に依存しても問題ありませんか?

私は初心者で、すぐに iOS を学習することを考えています。

4

2 に答える 2

5

iOS にはガベージ コレクションがありません。iOS5 SDK では ARC (自動参照カウント) が導入されましたが、これは実際のガベージ コレクションとは微妙に異なります。強い参照サイクルを使用しないなどしてメモリ リークを回避することは、たとえ ARC であっても、依然としてユーザーの責任であるため、参照カウントのセマンティクスを知り、理解する必要がありますしかし、どうしても ARC を使用してください。ARC を使用すると、ほとんどのコードが簡単になります。

于 2012-09-15T09:23:42.043 に答える
3

さらに明確にするために、ARCはコンパイル時の機能であり、コンパイル中にコンパイラがコードを追加してオブジェクトを解放するため、開発者はそれについて心配する必要はありません。一方、ガベージ コレクションは、すべての参照カウントを追跡し、参照カウントが 0 のオブジェクトを自動的に解放するランタイム機能です。

これはアップルのドキュメントからのものです

Objective-C の自動参照カウント (ARC) により、メモリ管理がコンパイラの仕事になります。新しい Apple LLVM コンパイラで ARC を有効にすると、retain や release を再度入力する必要がなくなり、開発プロセスが大幅に簡素化され、クラッシュやメモリ リークが減少します。コンパイラはオブジェクトを完全に理解しており、各オブジェクトが使用されなくなった時点ですぐに解放するため、アプリはこれまでと同じように高速に実行され、予測可能なスムーズなパフォーマンスが得られます。

アプリを最初から開発する予定がある場合は、必ず ARC を使用してください。

于 2012-09-15T09:27:24.627 に答える