2011-07-30 14 views
2

私は実行中のサービスを搭載したAndroidアプリを持っています。Androidサービスのメモリ使用量

Android設定の[アプリケーションの実行中]メニューを見ると、自分のアプリのメモリ使用量が9〜16MBの間の であることがわかります。

DDMS割り当てトラッカーを使用して、どこから来たのかを確認しましたが、すべてのオブジェクトが500バイト未満でした。

意味がありますか?私のアプリのメモリ使用量を追跡する他の方法はありますか?

また、サービスが実行されている限り、SQLiteデータベースを開いています。それは記憶にも影響を与えますか?

ありがとうございました。

+0

これは今解決しましたか?実行する方法? – thecr0w

答えて

2

意味がありますか?

意味が成り立ちません。割当トラッカーは、すべてのトラッキング(たとえば、3.0より前の環境のビットマップ)をトラッキングしないAFAIKを、AFAIKと同様に簡単に500の増分で「9-16MB」にすることができます。

他の方法で私のアプリケーションのメモリ使用量を追跡できますか?

ヒープをダンプ(たとえば、DDMSのダンプHPROFファイルツールバーボタンを使用)して、EclipseのMATプラグインで結果を調べます。 2011年のGoogle I/Oカンファレンスのthe YouTube video is onlineにこれに関するプレゼンテーションがありました。これを使用してメモリリークを追跡できます。

メモリにも影響がありますか?

いくつか、私は確信しています。

実際にはサービス自体も問題です。あなたの目標は、できるだけメモリにそのサービスを持たせることであり、ユーザーに積極的に価値を提供している間だけでなければなりません。理想的には、あなたのサービスは99%の時間で破壊されます。