我从资产文件夹中获取一些图像,但有一个例外:
03-11 10:18:28.019: E/dalvikvm-heap(4052): Out of memory on a 9830416-byte allocation.
我这里有这个错误:
//stream to get photo
InputStream bitmap=null;
bitmap=getResources().getAssets().open("ProduitsMini/"+productList.get(rang).getImg_mini());
Bitmap bit=BitmapFactory.decodeStream(bitmap);
// get drawable image
Drawable mDrawable = new BitmapDrawable(getResources(),bit);
这很奇怪,因为我在每台设备上都没有出现此错误,但只有 Galaxy S3 出现此错误。
您可以尝试添加以下代码
InputStream bitmap=null;
bitmap=getResources().getAssets().open("ProduitsMini/"+productList.get(rang).getImg_mini());
BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 8;
Bitmap preview_bitmap = BitmapFactory.decodeStream(bitmap,null,options);
此 inSampleSize 选项可减少内存消耗。
您可以参考下面的链接
https://stackoverflow.com/a/823966/1441666 https://stackoverflow.com/a/823966/1441666
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)