2012年6月10日日曜日

メモリリーク対策

java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
メモリリークエラーは端末に設定されているヒープ領域によって発生頻度が違います。
大まかな目安として解像度で判断する方法があります。



   WindowManager wm = getWindowManager();


           Display d = wm.getDefaultDisplay(); 


if(d.getWidth()<=900 || aheigth = d.getHeight()<-900){//解像度が900以下なら
              //ビットマップの解像度を900*2以下にする処理
}


他にも、ローカルに補助記憶にデータを退避させるクラスや、ガーべジコレクションを強制的に行うクラスでビットマップをラッピングする方法があります。

0 件のコメント:

コメントを投稿