Android 图片内存溢出java.lang.OutOfMemoryError:

本文介绍了一种使用BitmapFactory.Options进行图片加载和缩放的方法。通过设置inJustDecodeBounds和inSampleSize属性来实现图片的高效加载及按比例缩放。
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
options.inSampleSize = 2;
options.inJustDecodeBounds = false;
options.inTempStorage = new byte[16 * 1024];

Bitmap bmp = BitmapFactory.decodeFile(picturePath,options);
Bitmap resizedBitmap = Bitmap.createScaledBitmap(bmp, 960, 730, false);
java.lang.OutOfMemoryError: Failed to allocate a 640 byte allocation with 2311440 free bytes and 2257KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC. at java.lang.Object.internalClone(Native Method) at java.lang.Object.clone(Object.java:280) at com.android.i18n.timezone.ZoneInfoData.getTransitions(ZoneInfoData.java:825) at libcore.util.ZoneInfo.<init>(ZoneInfo.java:149) at libcore.util.ZoneInfo.createZoneInfo(ZoneInfo.java:142) at libcore.util.ZoneInfo.createZoneInfo(ZoneInfo.java:130) at java.util.TimeZone.getTimeZone(TimeZone.java:584) at com.android.calendarcommon2.Time.getTimeZone(Time.java:274) at com.android.calendarcommon2.Time.clearCalendar(Time.java:285) at com.android.calendarcommon2.Time.set(Time.java:144) at com.android.providers.calendar.CalendarInstancesHelper.computeTimezoneDependentFields(CalendarInstancesHelper.java:891) at com.android.providers.calendar.CalendarInstancesHelper.performInstanceExpansion(CalendarInstancesHelper.java:349) at com.android.providers.calendar.CalendarInstancesHelper.expandInstanceRangeLocked(CalendarInstancesHelper.java:542) at com.android.providers.calendar.CalendarProvider2.acquireInstanceRangeLocked(CalendarProvider2.java:1754) at com.android.providers.calendar.CalendarProvider2.acquireInstanceRange(CalendarProvider2.java:1609) at com.android.providers.calendar.CalendarProvider2.handleInstanceQuery(CalendarProvider2.java:1371) at com.android.providers.calendar.CalendarProvider2.queryInternal(CalendarProvider2.java:1185) at com.android.providers.calendar.CalendarProvider2.query(CalendarProvider2.java:947) at android.content.ContentProvider.query(ContentProvider.java:1630) at android.content.ContentProvider.query(ContentProvider.java:1726) at android.content.ContentProvider$Transport.query(ContentProvider.java:295) at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107) at android.os.Binder.execTransactInternal(Binder.java:1343) at android.os.Binder.execTransact(Binder.java:1275)
最新发布
08-15
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值