我现在做了什么:
我正在使用 android 在我的应用程序上挑选图像,并在我的布局的 ImageView 上显示它们,有时我遇到了异常java.lang.OutOfMemoryError: bitmap size exceeds VM budget
。当照片大于 500kb 时会发生这种情况。
我需要做什么(我不知道该怎么做): 然后,我想做的是只允许用户选择最大 500kb 的照片。如果用户选择了一张大于 500kb 的照片,那么,我的应用程序应该显示一个 toast,告诉用户只能选择最大 500kb 的照片.... ¿怎么做?
这是我的代码:
changeImageButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(i, ACTIVITY_SELECT_IMAGE);
}
});
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode) {
case 1:
{
setResult(1);
finish();
}
case ACTIVITY_SELECT_IMAGE:
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
selectedPhoto = BitmapFactory.decodeFile(filePath);
//profileImage.setImageBitmap(selectedPhoto);
profileImage.setImageBitmap(Bitmap.createScaledBitmap(selectedPhoto, 80, 80, false));
}
}
}
profileImage 是我的布局的 ImageView。我使用缩放的 butmap 将图像重新调整为 80x80
请给我一些帮助,我在谷歌上搜索,我什么也找不到