电子相框遇到的问题
1;图片太大数量太多出现 java.lang.OutOfMemoryError: bitmap size exceeds VM budget异常
当图片过大,或图片数量较多时使用BitmapFactory解码图片会出java.lang.OutOfMemoryError: bitmap size exceeds VM budget,要想正常使用则需分配更少的内存,具体的解决办法是修改采样值BitmapFactory.Options.inSampleSize,例如:
- BitmapFactory.Options opts = new BitmapFactory.Options();
- opts.inSampleSize = 4;
- Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts);
如何设置恰当的inSampleSize
设置恰当的inSampleSize是解决该问题的关键之一。BitmapFactory.Options提供了另一个成员inJustDecodeBounds。
- BitmapFactory.Options opts = new BitmapFactory.Options();
- opts.inJustDecodeBounds = true;
- Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts);