0

アプリ内の未使用のリソースを解放しようとしています。私はカテゴリGeneralBlockの(オブジェクト?)の数MBを持っていますが、これが何であるか、またはこのGeneralBlockの解放にどのように取り組むべきかについての手がかりがありません。

GeneralBlockには明らかな用途はありません。アプリを起動するとメニュー画面が表示され、その時点で約300kbのメモリが使用されています。アプリの最後で、ユーザーがボタンを押すと、同じMENU画面に戻ります。この画面では、約300kbのメモリしか使用されていないはずですが、代わりに約2.5MBのメモリがあります!!!? ?? そのほとんどはGeneralBlockに起因し、どこかにぶら下がっています。表示設定を「作成されたオブジェクトとまだ生きているオブジェクト」に設定しているので、割り当てを解除したオブジェクトにすることはできません...教えてください。

4

1 に答える 1

1

メモリ使用量の追跡から:

図 1 に示すように、アイコン モードでは、ObjectAlloc 計測器は、アプリケーションに割り当てられたすべてのメモリ ブロックのリストを含むテーブルを表示します。 [カテゴリ] 列には、メモリ ブロックのタイプ (Objective-C クラス名またはコア) が表示されます。基礎オブジェクト名。ObjectAlloc がブロックの型情報を推測できない場合は、「GeneralBlock-」の後にブロックのサイズ (バイト単位) を使用します。Net 列には、アプリケーションのメモリ ヒープに現在存在する各タイプのブロック数が表示されます。全体の列には、割り当てられた各タイプのブロックの合計数が表示されます。これには、その後解放されたブロックも含まれます。

この投稿も参照してください。

基本的に、何もリークしていない限り、これらの GeneralBlock 割り当ては問題ありません。

于 2009-08-28T06:39:03.383 に答える