电子相框遇到的问题

来源:互联网 发布:制造业数据分析 2016 编辑:程序博客网 时间:2024/06/10 16:49


电子相框遇到的问题

1;图片太大数量太多出现 java.lang.OutOfMemoryError: bitmap size exceeds VM budget异常

当图片过大,或图片数量较多时使用BitmapFactory解码图片会出java.lang.OutOfMemoryError: bitmap size exceeds VM budget,要想正常使用则需分配更少的内存,具体的解决办法是修改采样值BitmapFactory.Options.inSampleSize,例如:

  1. BitmapFactory.Options opts = new BitmapFactory.Options();  
  2. opts.inSampleSize = 4;  
  3. Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts);  
如何设置恰当的inSampleSize

设置恰当的inSampleSize是解决该问题的关键之一。BitmapFactory.Options提供了另一个成员inJustDecodeBounds。

  1. BitmapFactory.Options opts = new BitmapFactory.Options();  
  2. opts.inJustDecodeBounds = true;  
  3. Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts);