根据我的要求,我有一个用于调整位图图像大小的简单类。有负责它的简单方法如下:位图调整大小会导致内存不足
public static Bitmap ResizeRichImages(Bitmap bitmap, Context mContext){
try {
float originalBitmapWidth = bitmap.getWidth();
float originalBitmapHeight = bitmap.getHeight();
float originalAspectRatio = originalBitmapWidth/originalBitmapHeight;
double width_percentage = (0.05*screenWidthPixels(mContext));
float newWidth = (float)((int)screenWidthPixels(mContext)-width_percentage);
float newBitmapWidth = newWidth;
float newBitmapHeight = newBitmapWidth/originalAspectRatio;
bitmap = Bitmap.createScaledBitmap(bitmap, (int) newWidth, (int)newBitmapHeight, false);
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
这是我如何调用此方法:
String URL = "https://maps.googleapis.com/maps/api/staticmap?center=-33.86527274921529,151.2050531328867&zoom=15&size=640x360&sensor=false&markers=color:blue%7Clabel:!%7C-33.86527274921529,151.2050531328867";
try {
bmp = Picasso.with(ViewStory.this).load(URL)
.get();
bmp = ImageController.ResizeRichImages(bmp, ViewStory.this);
} catch (Exception e) {
e.printStackTrace();
}
但是,几乎每一个我收到了内存异常,同时调用时间ResizeRichImages方法。我哪里错了?
何去何从是screenWidthPixels(mContext) –
请检查:http://stackoverflow.com/questions/26296344/out-of-memory-error-for-files-greater-than-3mb-though-upload-using-chunk/26296433#26296433 – pbespechnyi
''android:largeHeap“'只隐藏问题......非常普遍的**你不应该使用它** ...但它通常被糟糕的程序员使用(没有知识和技能)和noobs – Selvin