
有人可以在清除敏感的运行时映像方面为我提供最佳实践的资源吗?
考虑以下情形:在运行时从服务器下载敏感图像,将其加载到Bitmap对象中,然后将其显示在Fragment的ImageVIEw中.
当用户离开该屏幕,或长时间退出应用程序/使其在后台放置时,我想清除该图像数据,以使其不容易恢复.
我想知道是否存在一种可靠的方法,一旦包含图像的Fragment被销毁,就可以将位图数据归零?
我觉得这很棘手,因为位图通常作为不可变的对象返回,例如BitmapFactory.decodeByteArray说:
Decode an immutable bitmap from the specifIEd byte array.
大概我必须创建一个可变的Bitmap,然后复制其数据?
看来recycle()不会帮我,因为那只会将数据标记为可用于垃圾回收,而不会擦除数据.
解决方法:
您可以简单地使用清除位图
someBitmap.erasecolor(androID.graphics.color.transparent);它将用透明色填充位图并擦除其上的所有内容.
但是,如果您没有对位图的任何引用(例如,将像这样包含位图的ImageVIEw设置为null
someImageVIEw.setDrawable(null)垃圾收集器应尽快收集.
总结以上是内存溢出为你收集整理的java-删除/清零安全敏感图像的最佳实践?全部内容,希望文章能够帮你解决java-删除/清零安全敏感图像的最佳实践?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)