当我从图库中选择图片时,这是错误的。我在genymotion虚拟测试。
java.lang.OutOfMemoryError:无法分配带有15855104个空闲字节的83886092字节分配和73MB直到OOM
ImageView(activity_quotes.xml)
<ImageView
android:id="@+id/imgBG"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/defaultwall"/>
选择图像的按钮(MainActivity activity_main)
private void initChange()
{
btnChangeWall = (Button) findViewById(R.id.btnWall);
btnChangeWall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Your Picture"), PICK_IMAGE_REQUEST);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri uri = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
ImageView imageView = (ImageView) findViewById(R.id.imgBG);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
注意:ImageView不在MainActivity activity_main上,而是在不同的类和活动(Widget)上。你可以看到pic2