2011-12-24 5 views
1

Android 4.0.3で空のアプリケーションを作成しましたが、hprofでヒープをダンプすると、(Nexus Sの)アプリケーションで8,3 MBが使用されています。空のアプリケーションでのメモリ使用

空のアプリケーションでは非常に大きくなります。メモリ使用量を分析すると、android.content.res.Resourcesクラスで主要な部分(5,6 MB)が使用されていることがわかります。なぜそんなに多くのメモリが必要なのか分かりません。小さなデフォルトアイコン(4 kB)とデフォルトレイアウトと文字列ファイル(それぞれ1 kB)があります。それは普通ですか?あなたは他のAndroidバージョンで同じ結果を持っていますか?誰かがそれを減らす考えがありますか?

答えて

2

あなたがICSにいる(あなたがいると仮定している)場合は、ハードウェアアクセラレーションが原因です。それは(私はそれがあるとは思わない)はデフォルトで有効になっている場合 はわからない、私は、任意のICS :(

ハードウェアアクセラレーションの描画が勝利のすべてのフルではありませんがありません。例えば PVRドライバーにNexus SやGalaxy Nexusのようなデバイスの場合、単純に プロセスでOpenGLを使い始めると、約8MBのRAMが必要になります。 プロセスのオーバーヘッドは約2MBですが、これはかなり大きいです。実行中のバックグラウンドプロセス数が の場合、 のようなものが遅くなる可能性があります。

出典:https://plus.google.com/105051985738280261832/posts/2FXDCz8x93s

編集:あなたは、ハニカム以下にビルドターゲットを設定する必要がありますが、その後、あなたはどちらかのハードウェアアクセラレーションを使用することはできません、それを減らすために。あなたの電話。

+0

はい、私はICS上です!ありがとう、私はそれを知らなかった!できるだけ早くあなたの提案を確認します。 – TheAngel

+1

それはそうではありませんでした。私はAndroid 2.2ビルドターゲットを使用しようとしていますが、それはまだ8MBを使用しています(私のNexus Sで)。テストアプリケーションマニフェストファイル内に、私はまた、設定: は<使用-SDKアンドロイド:minSdkVersionが= "8" アンドロイド:targetSdkVersion = "10" /> - > minSdk:アンドロイド2.2 - > targetSdk:アンドロイド2.3.3 Android 4.0.3搭載のエミュレータでは5.8MBを使用し、Android 2.2搭載のエミュレータでは1.7MBを使用します。 – TheAngel

関連する問題