我在 stackoverflow 中遇到了很多关于这个错误的问题,但没有一个找到解释我的场景的正确解决方案。
在我的 android 应用程序中,我必须允许用户单击按钮以打开图库并选择图像。然后需要将特定的选定图像加载到我的布局(UI)中的 ImageView 中。
这样做是很好的。以下是我用来实现此目的的代码。
在上传按钮中单击->
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), REQUEST_UPLOAD_IMG);
然后 onActivityResult ->
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
//super.onActivityResult(requestCode, resultCode, data);
if(resultCode == Activity.RESULT_OK)
{
if(requestCode==REQUEST_UPLOAD_IMG)
{
Uri selectedImageURI = data.getData();
uploadImgVW.setImageURI(selectedImageURI);
}
else
{
Toast.makeText(MainActivity.this, "You can only select an Image.", Toast.LENGTH_LONG).show();
}
}
}
但如果用户选择更大尺寸的图像(如2MB大小),应用程序将退出并出现以下错误。但是正常(KB 级别)图像很好,想知道我可以为这个问题做些什么(处理这种错误情况)。谢谢...
错误->
06-20 16:43:58.445: E/AndroidRuntime(2075): FATAL EXCEPTION: main
06-20 16:43:58.445: E/AndroidRuntime(2075): java.lang.OutOfMemoryError: bitmap size exceeds VM budget