私は日本の Android 開発者です。アプリを開発していますが、問題があります。
私のアプリには2つのアクティビティがあります。1 つ目は Launch Activity、2 つ目は TopPage です。起動には画像ビューが 1 つしかありません (xml でリソースを設定します)。TopPage には、Ad 用の 2 つの webview と 20 個の imagebutton (xml でリソースを設定) があります。
問題は、私のアプリが 50MB を超えるメモリを使用していることです。DDMS を使用して、日食でのアプリのメモリ使用量を確認しました。結果、ヒープは 45MB、割り当ては 32MB、使用率は 73% です。しかし、Android OS では「設定」という別の方法でアプリの使用状況を知ることができます。確認したところ、使用量は50MBオーバー。
画像リソースがメモリに残っていると思ったので、このコードを試してみました
public static final void cleanUpView(final View view){
if(view instanceof ImageButton){
ImageButton ib = (ImageButton)view;
ib.setImageDrawable(null);
button++;
}else if(view instanceof ImageView){
ImageView iv = (ImageView)view;
iv.setImageDrawable(null);
image++;
}else if(view instanceof ViewGroup){
ViewGroup vg = (ViewGroup)view;
int size = vg.getChildCount();
for(int i = 0; i <= size; i++) {
cleanUpView(vg.getChildAt(i));
}
}
}
しかし、私はそれを解決できませんでした。
どなたかご存知の方、アドバイスお願いします。
ありがとうございました。