1
私のアプリケーションには、実行時にたくさんの画像が読み込まれています。このアプリはほとんどすべてのアンドロイドデバイスでうまく動作しますが、Xperiaでは仮想メモリが少なくても頻繁にクラッシュします。 plz help me ...Sony Ericsson Xperiaの仮想メモリが少ない
私のアプリケーションには、実行時にたくさんの画像が読み込まれています。このアプリはほとんどすべてのアンドロイドデバイスでうまく動作しますが、Xperiaでは仮想メモリが少なくても頻繁にクラッシュします。 plz help me ...Sony Ericsson Xperiaの仮想メモリが少ない
あなたは低いmemroyエラーをキャッチし、ダウンロードされたイメージのサイズを以下のように縮小します。
catch(OutOfMemoryError e)
{
e.printStackTrace();
Log.e("Out of memory error", e.toString());
reduce_size();
}
.....
BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 8;
options.inJustDecodeBounds = true;
Bitmap preview_bitmap=BitmapFactory.decodeStream(is,null,options);
final int REQUIRED_SIZE=70;
int width_tmp=options.outWidth, height_tmp=options.outHeight;
int scale=1;
while(true){
if(width_tmp/2<REQUIRED_SIZE || height_tmp/2<REQUIRED_SIZE)
break;
width_tmp/=2;
height_tmp/=2;
scale*=2;
}
//Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize=scale;
Bitmap btm=BitmapFactory.decodeStream(is, null, o2);
img_t.setImageBitmap(btm);
すべての画像を描画可能 – jibysthomas
ない問題を使用BitmapDrawable – Maneesh
から取られているが、私は彼らがすべて固定サイズである画像のサイズを変更傾けます。 – jibysthomas