2010-12-13 8 views
1

楽器を使ったiPadアプリのメモリに関する問題を考えています。割り振られたバイト全体を見ています。私のNSTimerはバイトを絶えず増加させますが、コメントアウトするとメモリ使用量は静的になります。NSTimerノンストップメモリ​​増加 - iOSバグ?

私のビューコントローラののviewDidLoadから:

tickTime = 1.0/30.0; 
tickTimer = [NSTimer scheduledTimerWithTimeInterval:tickTime target: self selector:@selector(update2) userInfo: nil repeats: YES]; 

そして方法のアップデート2:

- (void) update2 { 

} 

あなたは一切の方法で行わ何もありません見ることができるように - まだアプリのメモリ使用量は、常に成長する。私がタイマーを設定した行をコメントアウトすると、メモリ使用量は変わりません。

これはiOS SDKのバグですか?誰かが回避策を知っていますか?

+0

このタイマーの詳細について具体的に説明できますか?頻繁に更新する必要がありますか?また、 'tickTime'はどのような変数ですか? –

答えて

0

UIで何かするとメモリ使用量が低下しますか?私。ボタンなどをタップするとどうなりますか?

どのオブジェクトがぶら下がっていてはならないものですか?インストゥルメントは、ヒープが成長しているだけでなく、さらに多くの情報を提供します。

一般に、1/30秒間隔で目盛りをつけるタイマーは避けてください。

  • それはメインスレッド上にある場合は、アニメーションをやろうとしているならば、それはCore Animationの(または1つを使用し、あなたのアプリケーションの応答性が非常に途切れ途切れに(せいぜい)または

  • 全く反応しなく作ってあげますさまざまなOpen GLパターンの)

  • それはバッテリーの寿命を食べるでしょう。

+1

私は「避けるべき」と言っているが、「完全に壊れている」とは言っていない。可能であれば、いかなる種類のポーリングまたは急速な火災の仕組みも避けなければならない。できるだけ頻繁に定期的な作業をシステムに任せれば、アプリケーションのパフォーマンスは向上し、消費電力は少なくなります。 – bbum

0

私は、タイマーがiPhoneを処理するために速く「発射」していると信じています。私はこの同じ問題を抱えていて、タイマーを遅くしなければならなかった。

1

これはpebkacの問題です。私はInstrumentsの "Overall Bytes"を研究していました。これは、現在のメモリ使用量ではなく、アプリケーションが使用していたすべてのメモリの測定値です。

私はまだアプリの現在の合計メモリ使用量を測定する方法が不思議です - 「ライブバイト」は約1.5MBであるため、少なくとも20MBの.pngがロードされています。