解决方案 »

  1.   

    直接在XML里设置背景图容易out of memory,使用BitmapFactory又太慢
    大家怎么解决这个问题的啊
      

  2.   

    载入时适当缩小呢?绘制背景的时候用matrix放大感觉只能在图片质量跟性能上做一个选择了
      

  3.   

    将图片重新编辑,压缩一下,bitmap有这方面的处理
      

  4.   

    分辨率已经决定了内存占用,合理改进整个app的内存占用才对
      

  5.   

    这分辨率也会OOM?给个帖子楼主你看看.可以学学关于图片的优化.
    http://blog.csdn.net/shuipingzildy/article/details/11976757
    我之前也做过一个关于图片处理,和图片展示的app,大量的图片,分辨率都不低.开始也经常OOM.可以试试用第三方开源包来帮你加载图片.他们对内存的控制不错,会根据你的设置来压缩图片,另外图片没用了就释放内存.当然你自己也要注意,所有bitmap没用了就recycle,设为null,这样可以加快系统回收内存.
      

  6.   

    最后采用了http://blog.csdn.net/micro_rat/article/details/6307067  这里面讲的方法,牺牲效率确保程序不会死掉
      

  7.   

    一般我是这么做的:
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inSampleSize = (int) (file.length()/(100*1024));
            if (file.exists()) {
                Bitmap bm = BitmapFactory.decodeFile(FILE_PATH,options);
                iv_CameraImg.setImageBitmap(bm);
            }
    // 这里我是用 文件大小做的sample 你可以获取图片的长宽之后 做sample