1     关于你说的android 设备拍照旋转的问题,我之前遇到过,当时也很难做,最后解决了,是通过android 源码里面的自带一个类解决的  叫CameraConfigurationManager。这个类你去android的源码demo里面可以找到。2    关于旋转oom的问题,这个我不是很清楚如何解决,需要详细分析一下原因。我觉得应该不是很难。
     看你的源码的话,是在创建一个新的bitmap的时候导致的内存溢出。  这个也是可以避免的。  所以需要你自己设计一下如果避免一下。

解决方案 »

  1.   

    1,app打开large heap看看。
    2,这个做法的确不好,这个图太大了,两张图在内存里面,小内存的机器很可能出现oom。不知道你要旋转图片做什么,一般都是用exif来记录旋转方向的,不需要把图像数据旋转。
      

  2.   

    你可以读取exif里的旋转信息,然后进行纠正,这样就没问题了
      

  3.   


    三星竖着拍的照片导出到电脑看是转了90°,他里面exif有显示旋转角度。应该手机自己 的图片查看器可能有读取旋转角度,所以他看的是竖着的,但是我用ImageView显示的时候就转了。
    这个该怎么版?
      

  4.   

    CameraConfigurationManager这个类在android源码中没找到,只在ZXING项目里面找到。
      

  5.   


    三星竖着拍的照片导出到电脑看是转了90°,他里面exif有显示旋转角度。应该手机自己 的图片查看器可能有读取旋转角度,所以他看的是竖着的,但是我用ImageView显示的时候就转了。
    这个该怎么版?1,试试imageview.setImageMatrix()
    2,试试先把原bitmap缩小到显示尺寸,然后再去做旋转
      

  6.   


    三星竖着拍的照片导出到电脑看是转了90°,他里面exif有显示旋转角度。应该手机自己 的图片查看器可能有读取旋转角度,所以他看的是竖着的,但是我用ImageView显示的时候就转了。
    这个该怎么版?1,试试imageview.setImageMatrix()
    2,试试先把原bitmap缩小到显示尺寸,然后再去做旋转
    imageview.setImageMatrix()用这个的问题是,每个Imageview都得手动转,而且不是每个都需要,太复杂了, 我好像只能缩小图片旋转了。
      

  7.   

    使用libjpeg库,不过有点大,但不超过2M。