避免存储相机图像的缓存

“远程支票存款”应用程序允许人们使用手机相机拍摄支票,然后将图像发送到其金融机构存入其账户。

细节

使用“远程支票存款”应用,人们可以使用手机的相机拍摄支票,然后将图像发送到其金融机构存入其账户。这类应用程序将在移动设备的NAND存储器中保留支票图像(或其一部分),即使它的原图被删除。

建议

不要在设备上使用非易失性存储传输支票图像,支票图像的缓存很可能会被留在存储中。其他的做法是:

  1. 创建一个SurfaceView,显示相机预览或实时预览相机传感器所看到的内容
  2. 插入一个按钮,当按下时将相机预览作为像素阵列返回
  3. 最后,将像素数组转换为位图,将其压缩为.jpg,将其编码为Base64,并将其提交到远程服务器

该方法只会将图像保存在易失性RAM中,并防止在非易失性存储中缓存图像。

具体到使用Android Camera类,当使用Camera.PictureCallback接口生成.jpg时,可以使用takePicture指定回调方法。特别的,需要关注一下public void onPictureTaken(byte [] bytes,Camera camera)

这种技术可以使用bytes数组将照片保存在RAM中。

参考

results matching ""

    No results matching ""