問題タブ [alloc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1416 参照

iphone - iPhone アプリでのメモリの割り当て、解放、および NSURLConnection

誰かがこれで私を助けてくれることを願っています。簡単な質問であるべきことに対する答えを見つけるのに苦労しています。ところで、これは何年にもわたって c と c# を使用してきた私の最初の主要な obj-c プロジェクトなので、私が失敗していることを遠慮なく指摘してください。

写真のアルバムを UIScrollView にロードするように設計された iPhone アプリがあります。また、同じプロセスを使用しますが、単一の画像のみを表示するランダム画像機能もあります。次のように機能します。

  1. 解析された写真のランダム URL へのパスを含む外部 XML フィード (ruby-on-rails Web サイトに保存されている) を読み取ります。
  2. URL のコンテンツは、NSURLConnection を使用して NSData にダウンロードされます。
  3. ScrollView が作成され、プッシュされます
  4. サブクラス化された UIView は UIImageView を割り当て、NSData を使用して UIImage を割り当て、UIimage で UIImageView を初期化し、最後に imageview を UIView に追加します。
  5. 次に、親ビューは UIView を UIScrollView に追加し、これが前面にプッシュされます。

このプロセスは、次のランダム イメージが必要になったときに再び発生します。いくつかの UIView が UIScrollView に追加されることを除いて、画像のアルバム全体を表示するときにも同じプロセスを使用します。

問題は、必要に応じて release と delloc を使用しているにもかかわらず、次の画像が要求されたときに NSURLConnection と UIImage で使用されているメモリがメモリから解放されていないことをアクティビティ ツールが示していることです。これは、アプリを iPhone にビルドすることでさらに証明されます。複数の画像を連続してリクエストすると、おそらくメモリ消費が原因でアプリがクラッシュします。

以下は、契約上の合意によりプロジェクト全体を投稿できないため、コードの一部です。

URLDownload クラス (DataDownload を使用)

DataDownload クラス

ImageView サブクラス

画像がどのように表示されているかのサンプルコード

次の画像は、何が起こっているかを説明するためにすべての割り当てを示しています。1 は起動時の割り当てを示し、2 は最初のイメージがロードされた後を示し、3 は 2 番目のイメージがロードされた後を示します。

http://www.gretanova.com/misc/iphone/1.png & 2.png & 3.png

みんなありがとう、リー

0 投票する
3 に答える
949 参照

objective-c - どのオブジェクトを割り当て/解放しますか

Objective-Cで簡単に言えば-私は仮定するときに正しいですか

  1. すべてのポインタ変数は、使用されなくなったときに解放する必要がありますか?
  2. すべてのポインタ変数(*)はある種のクラスであるかどうか?
  3. したがって、すべてのポインタ変数は、「alloc」と「init」(または同様のもの)を使用して割り当ておよび初期化する必要がありますか?
  4. Objectメソッドを使用して変数を宣言する場合、「alloc」または「init」は必要ない場合がありますか?
  5. 数値宣言(BOOL、int、floatなど)は、ポインターとして宣言されていない限り、メモリ管理を必要としませんか?

私の混乱を整理するのに役立つアドバイスをありがとうiFloh

0 投票する
3 に答える
791 参照

c - cでのテンプレートスタイルのマトリックスの実装

時々、マトリックススタイルのデータ構造を生成するために次のコードを使用します

そして、マトリックスのエントリに別の種類のタイプが必要な場合は、それに応じてtypedefを変更します。

ここで、異なるタイプの2つのマトリックスが必要です。簡単な解決策は、コードをコピーして貼り付けることですが、より一般的な実装を行う方法はあります。

ありがとう

編集:私はそれがc++ではなくcにあることを明確にする必要があります。それを明確にしないでごめんなさい。

0 投票する
4 に答える
446 参照

c - 異常なCメモリ/スタックの問題をデバッグする方法

申し訳ありませんが、コードを特定することはできませんが、私が見ている問題は異常です。文字列の値は、他の無関係なコードに応じて変更されているようです。たとえば、以下で渡される引数の値は、fprintf()呼び出しの1つまたは2つをコメントアウトするかどうかに応じて変更されます。最後のfprintf()までに、値は通常完全に空になります(いいえ、引数を直接変更していないことを確認しました... fprintf()をコメントアウトするか、別のfprintf()を追加するだけです。文字列の値は特定の時点で変更されます!):

周りにはもっと多くのコードがあるので、誰かに私のプログラムをデバッグするように頼むことはできません-私が知りたいのは、このような文字列が無関係のコードに基づいてメモリを変更または上書きする理由をデバッグする方法です。私の記憶は限られていますか?スタックが小さすぎますか?どうすればわかりますか?問題を追跡するために他に何ができますか?私のプログラムは巨大ではありません。1000行のコードがgiveまたはtakeし、動的にリンクされた外部ライブラリが2つあるようなものですが、異常なことは何もありません。

ヘルプ!TIA!

0 投票する
1 に答える
630 参照

memory - iPad での EXC_BAD_ACCESS の追跡

このコードを使用して UIWindow を作成しています

UIMyWindow は特別なものではなく、ObjectiveC のラッピングを行う C++ クラスへのポインタを持っているだけです。

最近、エラーで何もする必要のないコード行を追加した後、アプリケーションがクラッシュし始めました。追加したコード行は C++ オブジェクトを割り当てているだけですが、プログラムの実行はこの行に到達しません。

興味深いことに、私のコードは Release で動作します。

私の唯一の推測は、まったく別の場所でメモリ破損を起こしたことです。私の質問は次のとおりです。どのような種類のメモリ破損が発生する可能性がありますか? そして、それらを追跡するための良い慣行はありますか?

0 投票する
3 に答える
3672 参照

objective-c - obj-cNSStringおよびalloc/hold / release

これはおそらくオブジェクトの割り当て/保持/解放に関する質問ですが、例としてNSStringを使用します。私は私ができることを知っています:

基本的に、変数myStringによって参照される文字列を割り当てて初期化します。この文字列は、後で[myStringrelease]を呼び出す必要があります。ただし、これを行った後、次のような他の文字列に設定します。

ポインタを別のオブジェクトに再割り当てし、割り当てた元のオブジェクトへのすべての参照を失ったため、基本的にメモリリークが発生しますか?

文字列を個人的に割り当てて解放し、その値をさまざまな時点で変更したい場合は、「=」以外の別の構文を使用する必要がありますか、それとも元々myStringで表されていたオブジェクトの内容を適切に変更するためにオーバーロードされていますか? =を使用する場合。

0 投票する
1 に答える
197 参照

iphone - iPhoneのメモリ割り当ての問題

私のアプリケーション内には、ユーザーがアクセスできるはずのViewControllerとXibが20個ほどあります。問題は、そのうちの5つほどを調べた後、メモリ不足が原因でアプリケーションがクラッシュすることです。ViewController内に割り当てたすべてのメモリを解放したので、非常に多くのIBOutletsのメモリを保持しているためだと推測できます。

ビューを挿入するために使用するコードと、ビューを削除する方法を次に示します。

どんな助けでも大歓迎です

0 投票する
0 に答える
321 参照

iphone - iPhoneの画像の問題

過剰なメモリが原因で、アプリケーション内のiOS4.0で頻繁にクラッシュします。Instrumentsによると、そのカテゴリは「Malloc 600KB」であり、責任のあるライブラリはImageIOであり、責任のある呼び出し元はImageIO_Mallocです。私はこのアプリでたくさんの画像を使用していますが、他のアプリケーションで使用した以上のものはありません。3.0で同じコードを実行した場合、実際の問題は発生せず、4.0では、タッチしていない場合でも、新しいイメージがロードされていない場合でも、5MBから30MBのメモリにジャンプすることがあります(私の知識は行きます)。

誰かが何かアイデアを持っているか、私が問題の原因を見つける方法を知っていますか?

前もって感謝します!

0 投票する
1 に答える
307 参照

objective-c - nibから開始されたシングルトンオブジェクトの呼び出し

nib ファイルで開始されるオブジェクトがあります。私はそれをシングルトンにしたいだけでなく、コードから[myClass sharedInstance];. 今私はこれを持っています:

しかしalloc一向に呼ばれない。