SysStats Monitor/Liteの「その他」領域について
SysStats Liteのカスタマーレビューにて、メモリ使用状況の「その他」領域について質問をいただいたようなので、それについて説明したいと思います。
技術的な観点では、
SysStats Liteの「測定できない領域」は、わかりにくいものですよね。 - The iPhone Development Playground
にて説明しているので、一部重複する内容もありますが、ご了承ください。
メモリ使用状況の円グラフに表示している数値は、iPhoneOSで提供されている標準機能を使って取得しています。そこでは、
- 固定中
- 現在使用中
- 現在非使用中
- 空き
の4つの領域のサイズが得られます。
これらの合計値を見ていて、以下のことに気づきました。
- 物理RAMサイズとこれらの合計値を比較すると、かなり差がある。
- 合計値は、変動する。
このことから、この合計値を母数とする円グラフは、変化を比較することには適さないと考えました。
さらに調べていくと、合計値の変動は、Safariなどの標準アプリが、バックグラウンドで起動されているかどうかに影響される傾向が見えてきました。
- Safariが起動されているときには、この合計値は少なくなる。
- Safariを終了させるとこの合計値が増える。
母数を物理RAMサイズとすることで、こういった変化を円グラフで把握することができています。
そして、その時に生じる物理RAMサイズと、前述の4つの領域の合計値の差分を「その他」としています。
このケースでは、主に「その他」の領域が解放され、「空き」が増えたということが見て取れると思います。
「その他」領域があるのは、このように円グラフの正確さを追求した結果であることをご理解いただければと思います。