1

私はObjectiveCを初めて使用します。これは、実際には私の最初のアプリです...プロジェクトのリストを含むアプリケーションに取り組んでいます。各プロジェクトには、独自の画像ギャラリーがあります。ギャラリーが画面の約90%を占め、残りはサムネイルの行が占めます。

シミュレーターでは正常に実行されていますが、あるギャラリーから別のギャラリーに移動すると(3〜4回通過した後)、アプリケーションがクラッシュします(実際のデバイス-iOS 6を搭載したiPad2)。例外やエラーはなく、ログはクリーンです。アプリケーションが350MBのRAMに達するとクラッシュするようです。

私はבarcוseguesを使用していますが、ギャラリーを通過する間にメモリの解放はないと思います。

さらに、各ギャラリーへの最初のエントリでは、ギャラリーが読み込まれるまでに数秒かかります(最初の実行時のみ、同じギャラリーを終了してすぐに再入した場合)。これは、メモリに保持されていることのさらなる手がかりのようです。 。

これは最初のアプリであり、あまり経験がないので、単純なものであっても、私は本当にどんなアイデアでも評価します。

お時間を割いてご協力いただきありがとうございます...

4

1 に答える 1

1

これの正確な理由がメモリの問題であるかどうかはわかりません。ただし、プロジェクトで大きなペイロード(データ)を処理するときは、メモリがその時点でアプリに割り当てられた到達可能な最大データサイズに達するとどうなるかを考える必要があります。

APIのおかげで、アプリを起動したときにシステムが処理できる最大データサイズに達したときにコールバックメソッドがあります。

- (void)didReceiveMemoryWarning{
//この方法では、ビューコントローラが使用する追加のメモリを
//UIImageギャラリーのオブジェクトで削除(解放)できます。
}

このメソッドを直接呼び出すことはできません。これはシステムコールメソッドです。ただし、シミュレータでデバッグするときに、メソッドを呼び出すように要求するオプションがあります。(シミュレータステータスバー:- Hardware> Simulate Memory Warning)。

ここにドキュメント

于 2013-03-01T11:28:50.047 に答える