0

Xcodeのinstruments-allocations(iphone)で見られるポインタでメモリが増えています

私はこれを持っています:(1秒間に何度も実行されるオーディオバッファコールバック関数)

int16_t *q = (int16_t *)(&bufferList)->mBuffers[0].mData;
int16_t average ;

for(int i=0; i < inNumberFrames; i++)
{
  average=q[i];  //comment this solve all.

最後の行をコメントすればOKです。それでおしまい。明らかにq[i]が問題です。この行で何が間違っているのかわかりません。

4

2 に答える 2

0

あなたが投稿したスニペットでメモリの増加を引き起こす可能性のある特定の問題は見られません。

  • あなたはどんな種類のメモリも割り当てていません
  • あなたは何も保持していません(プレーンCであるため)

したがって、質問のコードがリークを引き起こす可能性はありません。おそらく、ここに何かが欠けています。

計測器は、リークしている割り当ての原因mallocまたはnew原因を毎回通知する必要があります。

于 2012-04-19T15:23:18.013 に答える
0

タイプはmBuffers何ですか?オーバーロードされている可能性があり[]、舞台裏で割り当てや参照カウントを行っている可能性はありますか? 疑わしい行をコメントアウトすると、コンパイラは への割り当て全体を最適化してq、問題を回避できます。

于 2012-04-19T16:44:49.030 に答える