-3

私は Objective C の初心者です。Java プログラミングは知っていますが、入門レベルのコースではメモリ解放については触れていません (より高度なレベルのコースにあるのか、Java コンパイラがこれを処理するのかはわかりません)。ただし、イントロ レベルでも、Objective C プログラム用にメモリを手動で解放する必要があります。これを行うのが良い習慣であることは知っていますが、それはどれほど重要ですか? 特に iPhone アプリを開発したい場合、メモリの解放は緊急ですか? (そうしないと処理が大幅に遅くなります)? iPhone アプリとは、素晴らしい視覚効果、高品質の音響効果、およびメモリ解放を重要にする可能性のあるその他のものを備えた大きな 3D ゲームについて話しているのではありません。電卓、リマインダー、日記帳などの小さなツールを開発したいだけです。では、メモリ解放はどれほど重要なのでしょうか?

C言語プログラムが超古いコンピューターで実行されていた昔は、メモリと処理速度がそれほど多くない可能性があるため、メモリ解放は重要だったと思います。しかし、iPhone がかなり高度なデバイスであることを考えると、手動でメモリを解放するのは少し時代遅れなのでしょうか?

4

2 に答える 2

6

私はJavaプログラミングを知っていますが、入門レベルのコースではメモリ解放はカバーされていません(より高度なレベルのコースにあるのか、Javaコンパイラがこれを処理するのかわかりません)。

正確にはコンパイラではありませんが、Java VM にはガベージ コレクタがあるため、メモリ管理について心配する必要はありません。

では、メモリ解放はどれほど重要なのでしょうか?

非常に重要です。MRC と ARC (Objective-C で) のどちらを使用しているかに関係なく、それを実行するのがランタイムであろうとプログラマであろうと、メモリを適切に管理することにより、アプリのメモリ フィンガープリントを可能な限り低く保つ必要があります。

C言語プログラムが超古いコンピューターで実行されていた昔は、メモリと処理速度がそれほど多くない可能性があるため、メモリ解放は重要であったと思います。しかし、iPhone がかなり高度なデバイスであることを考えると、手動でメモリを解放するのは少し時代遅れなのでしょうか?

おー。なぜ多くのアプリが私の iPhone の空き RAM を使い果たしてしまうのかがわかりました。それが今の「開発者」の姿勢だからです。そうですか...

于 2013-02-24T06:30:33.883 に答える
-1

それはあなたが何をしているかによります。一般的に、メモリが適切に解放されることは非常に重要です。これは、ゲームのようなものではすぐに発生し、テキストと数字だけの場合は非常にゆっくりと発生しますが、まだ存在します. ただし、メモリの解放は思ったほど難しくありません。ARC を使用している場合は、ほとんど忘れることができます (ただし、いくつかの奇妙なケースがあることに注意してください)。ARC を使用していない場合でも、論理的なタイミングでオブジェクトの release を呼び出すなど (viewController を削除するときなど)、Apple は多くのことを行ってくれます。

また、メモリ管理は通常、オブジェクト指向コードの使用にのみ適用されます。単純な計算機を作成するだけであれば、オブジェクト指向は必要なく、float で作業できます。フロートを処理するだけの単純なアプリには、メモリ管理はありません。

于 2013-02-24T06:43:43.287 に答える