为什么从画廊中选择的尺寸较大的图像没有显示?

问题描述

        if (requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) {
        imageuri = data.data
        bitmap = MediaStore.Images.Media.getBitmap(contentResolver,imageuri)
        try {
            if(bitmap != null){
                Toast.makeText(applicationContext,"Not empty",Toast.LENGTH_SHORT).show()
                imageView?.setimageURI(imageuri)
            }else{
                Toast.makeText(applicationContext,"It is empty",Toast.LENGTH_SHORT).show()
            }
        } catch (e: IOException) {
            e.printstacktrace()
            displayExceptionMessage(e.message)
        }

    }

正在加载其他大小为2MB及以下的图像,但是如果图像大小大于2MB,则不会显示。有人可以告诉错误吗?谢谢

解决方法

这是因为您尝试使用位图进行读取。 您可以这样:

override fun onActivityResult(requestCode: Int,resultCode: Int,data: Intent?) 
 {
       super.onActivityResult(requestCode,resultCode,data)

if (requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) {
    imageuri = data.data
    try {
   
        imageView!!.setImageUri(imageuri)
    } catch (e: IOException) {
        e.printStackTrace()
    }
,

这解决了我的问题:

      imageView?.let {
        Glide.with(this)
        .load(imageuri)
        .into(it)}