Java 调整图像大小时内存不足
当我有很多空闲空间时,我就会忘记记忆。我不明白为什么。在我的应用程序中,我有一个简单的流程:Java 调整图像大小时内存不足,java,android,image,android-layout,garbage-collection,Java,Android,Image,Android Layout,Garbage Collection,当我有很多空闲空间时,我就会忘记记忆。我不明白为什么。在我的应用程序中,我有一个简单的流程: 导航到“拍照”功能 拍摄照片并显示缩略图 调整大小并保存拍摄的照片(不使用毕加索帮助调整大小) 重复2和3几次 通过网络发送拍摄的照片 下图显示了上述步骤的内存使用图。一切都很完美。没有发生OutOfMemory 但我注意到一件事。A流程: 在“拍照”功能之前,我有一个菜单。当我不断切换屏幕方向时,内存使用量就会增加(每个开关约2MB) 拍摄照片并显示缩略图。这张照片是拍的,但毕加索并没有显示缩略图。
java.lang.OutOfMemory错误,位于android.graphics.BitmapFactory.NativeDecodeseam
)并停止应用程序(Android 5.0+上例外,当你的应用程序在后台时,ART将使用移动收集器)查看此blogspot,我能做些什么?我不能只针对Android 5.0+开发应用程序。android:largeHeap=true有帮助,但它是fishy@emstol刘易斯:“那我能怎么办呢?”——这很难说,因为我们没有一个好的解决办法。通常,通过
BitmapFactory.Options上的inBitmap
重用Bitmap
对象。尽量不要同时在内存中保留一堆位图。确保调整大小的方式能够最大限度地减少堆的使用(例如,主要通过BitmapFactory.Options
上的inSampleSize
,并通过其他缩放进行微调)。我有一个关于内存管理的建议,可能会有所帮助。