最近、関数を宣言し、次のように関数をforループに入れます。
Bitmap image = ...//Do stuff to get image's bitmap, it's quite ok
for(int i =0; i < someNumber; i++){
image = doSomeThing(image, width, height);
}
private Bitmap doSomeThing(image, width, height){
int[] a = new int[10000];
Bitmap bitmap = image.copy(sentBitmap.getConfig(), true);
// Do some stuff here to process image
...
return (bitmap);
}
forループ引数がsomeNumber5 より小さい場合、私のアプリケーションは問題なく動作します。それ以外の場合はoutOfMemory. だから私はこれを解決するための提案を求めたいexception! 使えますSystem.gc()か?または、各ループの後に未使用のメモリを削除するために何かをすることはできますforか?
編集済み: 申し訳ありませんが、省略しすぎた可能性があります。コードを更新しました!
Edited2 :forループの代わりに call image = doSomething(...)for 複数回使用すると、exceptionもうありません!!
ありがとう!