1

シンプルなAndroidアプリがあります。アプリには約 50 個の画像が含まれており、ほとんどが PNG 形式ですが、そのほとんどはアイコン サイズです。約 5 つのレイアウトがあり、Google マップと WebView を使用します。アプリ自体の重量は 6 MB 未満です。

次に、アプリのオプションをすべて実行してから、アプリの設定を調べます -> キャッシュされたプロセス、アプリが 70 MB の RAM を使用していることがわかります!!!

finish()メソッドを呼び出すことができますが、それは役に立ちません。メモリ使用量を減らすにはどうすればよいでしょうか?

アングリーバードでさえ の使用が少なくなっています。

4

5 に答える 5

1

ドローアブル フォルダーを作成し、そこに 9 つのパッチ イメージをすべて配置します。アクティビティを埋めるために onDestroy() をデプロイします。

于 2013-02-13T06:20:51.497 に答える
1

最善の方法は、アプリケーションに 9 つのパッチPNG イメージを使用することです。これにより、キャッシュ サイズとアプリケーション サイズを削減できます。Android のライフ サイクルに従ってアプリケーション コードをデプロイしすぎると、finish() を過度に使用すると、アクティビティが onpause() 状態になるため、そのアクティビティを強制終了する場合は onDestroy() を使用します。

于 2013-02-13T06:17:31.423 に答える
1

画質に影響を与えずにすべての画像を圧縮してから、メモリリークに注意してください。各アクティビティ アクションが完了し、そのアクティビティを終了します。アプリケーションを終了したら。実行中のすべてのメソッドを破棄します。メモリを手動でクリアする必要がある場合は、ビットマップ オブジェクトの .recycle() メソッドを呼び出します。メモリを削減するのに役立つと思います。

于 2013-02-13T06:28:01.800 に答える
0

このようなことを試してください、それは私が推測するのを助けるかもしれません:

@Override
protected void onDestroy() {
super.onDestroy();

unbindDrawables(findViewById(R.id.LayoutId));
System.gc();
}
于 2013-02-14T05:41:50.863 に答える