2

我对图库手机中的图片选择功能有很大的问题!我选择了照片,我得到了 URI,当读取“onActivityResult”中的流以将流放入位图中时,我有一个“outoffmemoryerror”。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
       Uri uri = data.getData();
       InputStream is = getContentResolver().openInputStream(mSelectedUri);
       Bitmap bitmap = BitmapFactory.decodeStream(is);
}

我尝试了其他代码,但我遇到了同样的问题。好吧,取决于图片!

我找到了这个: http://developer.android.com/training/displaying-bitmaps/index.htmlhttp://developer.android.com/training/displaying-bitmaps/load-bitmap.html

与此:“为避免 java.lang.OutOfMemory 异常,请在解码之前检查位图的尺寸,除非您绝对相信源可以为您提供可预测大小的图像数据,这些数据可以舒适地适合可用内存。”

4

1 回答 1

2

有时图像对于位图来说太大了,因此获取位图的一种方法是缩小图像。在这个网站上是一个很好的例子,它对我很有用

http://twigstechtips.blogspot.com/2011/10/android-resize-bitmap-image-while.html

于 2012-12-20T14:24:41.293 回答