0

私はiPhoneアプリ開発の初心者です。ばかげた質問でごめんなさい。

アプリケーションが警告なしにクラッシュした場合、アプリケーションによって割り当てられたすべてのメモリがiOSによって自動的に解放されるのか、それともそのままであるのかを考えてみてください。

iOSでリリースされていない場合、どこでどのようにリリースできますか?

4

4 に答える 4

1

アプリケーションがクラッシュした場合にできることは何もありません。アプリがクラッシュするまでに、システムは特定のアプリに割り当てられたメモリを破棄します。アプリケーションを再起動すると、割り当てられたメモリはなく、アプリケーションは新しく起動します。

アプリケーションのメモリを適切に管理する必要があります。これまたはAppleDocを参照してください。

または、 ARCを試すこともできます。このチュートリアルを参照してください。

于 2012-12-18T06:37:47.670 に答える
1

はい、まともなOSはすべてのメモリを解放し、プログラムの終了時にプログラムが使用するファイルハンドルなどの他の多くのリソースを解放します。プログラムがどのように終了するかは関係ありません。注意すべき重要な点の1つは、OSがオブジェクトを解放/破棄せずにメモリを再利用することです。したがって、オブジェクトがクリーンに解放されたときに通常は自動的に実行されるコードは、OSがプログラムの終了時にメモリを再利用するときに呼び出されません。

于 2012-12-18T06:38:59.753 に答える
0

グローバル(.hファイルでdecalred)オブジェクトをdeallocメソッドで解放する必要があります。

-(void)dealloc
{
   //release here
}

使用後に解放できるプライベートオブジェクトまたはインスタンスオブジェクト。

ハッピーコーディング!!!!

于 2012-12-18T06:30:29.973 に答える
0

私はARC(自動参照カウント)で作業を開始することを好みました。iOS4とiOS5でも動作します。

于 2012-12-18T06:41:06.833 に答える