2012-04-04 6 views
4

私は約12,000の文字列を持つ私のアプリでNSMutableArrayを実装しました。アロケーション機器では、およそ1000 KBがかかり、私の合計アロケーションは2200 KBになります。大きなNSMutableArrayを割り当てるとメモリの警告が少なくなるのですか?

このように大量のアレイを使用するとメモリ警告が少なくなりますか?

私は、アロケーション機器でメモリが不足していることに気づきました。デバイスの使用済み/使用可能メモリの総量を確認する方法はありますか?

答えて

3

「利用可能な」メモリを表示する方法はありませんが、Instrumentsがあなたのアプリがどのくらい消費しているかを喜んで表示します。これはいくつかの理由があります:の場合、どのくらいのメモリが「利用可能」だったかを示しても、バックグラウンドの内容によってはフィールド内でかなり異なるため、あまり役に立ちません。音楽、通話など

メモリの警告:いくつかのレベルがあり、メモリを解放して終了されないようにすることができます。

しかし、2200 KBというものは、物事の壮大なスキームではあまり意味がありません(これらのものを視覚化するのに役立つ場合、1024x768の画像はそれ以上のメモリを消費します)。だから、私は心配しないでくださいtoo:あなたができる場合は、あなたが必要でないオブジェクトを解放することによって、あなたのアプリケーションがメモリ警告に応答することは常に有益です。

+0

実際には該当しません。私はいくつかのアプリケーション(CHAOS、ゲーム)を見てきました。たとえば、15 MBのRAMを空きにしていないとできないことがあることを教えてくれるので、 'malloc'チェックやいくつかのシステムコールが、それは確かに可能です。 –

+0

技術的には、 'mach'を使ってメモリを利用できるようになります。実際のポイントはなく、SDKメソッドはありません。実際のポイントが存在しない理由は、物理メモリが割り当て可能な合計と等しくないためです。 「十分なメモリがない」場合は、再起動が必要なアプリケーションや実行しないアプリケーションは、ユーザーにひどい経験をもたらします(ストアガイドラインも破っています)。メモリ警告のみに頼り、責任を持ってメモリを管理するほうがずっと良いです。利用可能な物理メモリを確認することは、オブジェクトに対して 'retainCount'を使うことと少し違っています。恐ろしい誤解を招くことです。 – lxt

+0

割り当て計器を使用していて、新たな割り当てが同意していない場合は、数分ごとに低メモリ警告が表示されますが、これは割り当てや他のアプリケーションのためでしょうか? – Mausimo

関連する問題