android7.0如何加载本地图片,Android 6.0和7.0 加载同一张图片,结果不同

问题描述

Android6.0和7.0 加载一张jpg图片,转换为bitmap, 然后将其保存到本地,用UE比较两张本地图片的2进制,得到的结果不一致。

问题出现的环境背景及自己尝试过哪些方法

(1)利用系统的bitmapFactory 结果也是一样,不一致,

(2)Glide也不行

(3)有个奇怪的现象,4.4、5.0、6.0、8.1 是一样的, 7.0、7.1、8.0结果一致。

相关代码

Picasso.get()

.load(R.drawable.web_z)

.config(Bitmap.Config.ARGB_8888)

.resize(500,400)

.transform(object : Transformation {

override fun key(): String = "test"

override fun transform(source: Bitmap): Bitmap {

FileUtilTest.save(source, "picasso")

return source

}

}).into(mImageView)

//将bitmap保存到本地

object FileUtilTest {

fun save(bitmap: Bitmap, flag: String) {

if (Environment.getExternalStorageState() == Environment.MEDIA_MOUNTED)

// 判断是否可以对SDcard进行操作

{ // 获取SDCard指定目录下

val sdCardDir = Environment.getExternalStorageDirectory().toString() + "/CoolImage/"

val dirFile = File(sdCardDir) //目录转化成文件夹

if (!dirFile.exists()) { //如果不存在,那就建立这个文件夹

dirFile.mkdirs()

} //文件夹有啦,就可以保存图片啦

val file = File(sdCardDir, flag + "_" + System.currentTimeMillis() + ".png")// 在SDcard的目录下创建图片文,以当前时间为其命名

var out: FileOutputStream? = null

try {

out = FileOutputStream(file)

bitmap.compress(Bitmap.CompressFormat.PNG, 90, out)

out.flush()

Log.d("TAG", "_________保存到____sd______指定目录文件夹下____________________")

} catch (e: Exception) {

e.printStackTrace()

} finally {

if (out != null) {

try {

out.close()

} catch (e: IOException) {

e.printStackTrace()

}

}

}

Log.d("TAG", "保存已经至" + Environment.getExternalStorageDirectory() + "/CoolImage/" + "目录文件夹下")

}

}

}

这种问题,该如何解决?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值