安卓相机开发

2016-04-15  本文已影响85人  小王泽哥

1,简要记录问题,当bitmap设置给imagview之后,假如bitmap对象被回收,imagview当时不会有任何问题
但是当页面处于onpause状态之后,imagview会重新申请他需要的bitmap对象,此时会出错。
2,bitemap的旋转代码,获取设备的旋转角度,并进行相应的旋转

public static Bitmap rotatePhotos(Bitmap bitmap, int rotate){
      if(bitmap!=null){
          Matrix m=new Matrix();
           try{
                m.setRotate(rotate, bitmap.getWidth() / 2, bitmap.getHeight() / 2);
                Bitmap bmp2=Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), m, true);
                bitmap.recycle();
                bitmap=bmp2;
               }catch(Exception ex){
                  LogUtil.e("tag","出错");                    
               }
          }
      return bitmap;
     }

3,了解发现github上的知名来源项目,stickcamera,在拍完照片之后,会持续写入bitmap到文件再跳转到照片的编辑页面,这个过程是卡顿的用户体验不流畅的,包括最近比较火的应用keep也是一样的实现。最让人感受到费解的是包括足记和keep他们都会在编辑之前将图片写入到文件,编辑之后又将新的图片生成到了文件,这样的方式无非是要减少用户的存储空间
4,足记的拍照页面到编辑页面是瞬间完成的。这种实现方式用bundle传送的方式显然是不可能的,具体如何实现还要具体分析。

上一篇下一篇

猜你喜欢

热点阅读