我在图库手机中选择图片的功能存在很大问题! 我选择了照片,我得到了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.html 和 http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
用这个:“为了避免java.lang.OutOfMemory异常,在解码之前检查位图的尺寸,除非你完全信任源,为你提供可预测大小的图像数据,这些数据可以很好地适应可用内存。”
答案 0 :(得分:2)
有时图像对于位图很大,因此获取位图的方法是缩小图像。在这个网站是一个很好的例子,它对我来说非常好
http://twigstechtips.blogspot.com/2011/10/android-resize-bitmap-image-while.html