0

iOS で利用できるガベージ コレクターの概念はありますか?はいの場合は、その方法を教えてください。推奨されているかどうかを教えてください。

4

2 に答える 2

3

iOS にはガベージ コレクターはありません。代わりに、単純に自動参照カウント (ARC) を使用してください。ARC は、ガベージ コレクターの実行時のオーバーヘッドなしで、ほとんどのメモリ管理を処理します。

MacOS X はガベージ コレクションをサポートしていますが、MacOS X 10.8 では ARC が優先され、GC は非推奨になることに注意してください。そのため、デスクトップでも ARC が推奨されるソリューションになりました。

于 2012-06-22T20:02:08.477 に答える
0

何についてご案内しますか?ガベージ コレクターを明示的に呼び出す方法があるかどうかを尋ねていますか? 私の知る限り、iOSにはガベージコレクションがないためです(ARC自動参照カウントを見てください)。また、Java のように GC を備えた言語を使用している場合でも、ユーザーは GC を呼び出すことができず、GC を要求することしかできず、システムはそれを要求しますが、ガベージ コレクションが正確にいつ行われるかはわかりません。

通常、ガベージ コレクションはシステムによって呼び出されるプロセスであり、ユーザーによって呼び出されることはありません。このガベージ コレクションの「スレッド」(優先度が最も低いため、通常はデーモン スレッドと呼ばれます) は、システムによって必要に応じて呼び出されるため、複数回呼び出される可能性があります。アプリケーションのライフサイクル中に何度も発生すると、iOS に存在する場合、GC がバッテリー寿命を奪うため、iPhone のバッテリー寿命が非常に悪くなります。そのため、iOS アプリケーションの操作中に alloc コマンドと release コマンドを使用します。

于 2012-06-22T20:09:09.193 に答える