ЧТО Я СДЕЛАЛ СЕЙЧАС:
Я выбираю изображения в своем приложении с помощью Android и показываю их на ImageView моего макета, и иногда я получаю исключение java.lang.OutOfMemoryError: bitmap size exceeds VM budget
. Это происходит, когда фотографии превышают 500 КБ.
ЧТО Я ДОЛЖЕН ДЕЛАТЬ (И Я НЕ ЗНАЮ, КАК ЭТО СДЕЛАТЬ):
то, что я хочу сделать, это разрешить пользователю выбирать только фотографии размером до 500 КБ. И если пользователь выбирает фотографию размером более 500 КБ, то в моем приложении должен отображаться тост, сообщающий пользователю, что он может выбирать только фотографии размером до 500 КБ .... ¿как это сделать?
это мой код:
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
, пожалуйста, помогите мне, я ищу в Google, и я ничего не могу найти