为了账号安全,请及时绑定邮箱和手机立即绑定

将大尺寸照片放入小 ImageView 而不降低应用程序速度或崩溃的问题

将大尺寸照片放入小 ImageView 而不降低应用程序速度或崩溃的问题

POPMUISE 2023-07-28 09:51:08
当我想将存储中的大尺寸照片放入小 imageView 中时,我遇到了问题。我想知道如何将这些类型的照片放入小 imageViews 中而不降低应用程序速度或崩溃。我有一个 RecyclerView,它显示列表中存储中的一些图片。这是我的回收器适配器代码。感谢您的帮助。class Adapter(files: ArrayList<File>):RecyclerView.Adapter<Adapter.myViewHolder>() {    val files: ArrayList<File> = files    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): myViewHolder {        val view = LayoutInflater.from(parent.context).inflate(R.layout.item_complex_note_view , parent , false)        return myViewHolder(view)    }    override fun getItemCount(): Int {        return files.size    }    override fun onBindViewHolder(holder: myViewHolder, position: Int) {        holder.bind(files.get(position))    }    class myViewHolder(itemView: View):RecyclerView.ViewHolder(itemView){            lateinit var imageView: ImageView        init {            imageView = itemView.findViewById(R.id.complex_note_view_item_imageview)        }        fun bind(file: File) {                       imageView.setImageURI(file.toUri())        }    }}
查看完整描述

2 回答

?
森栏

TA贡献1810条经验 获得超5个赞

更好的方法是使用这段代码:


Glide.with(imageView.context)

                        .load(imageFile)

                        .apply(RequestOptions().centerCrop())

                        .into(imageView)

滑翔等级更快、更优化。


查看完整回答
反对 回复 2023-07-28
?
动漫人物

TA贡献1815条经验 获得超10个赞

我建议你使用picasso和 resize methode,它将避免你缺乏速度和崩溃

Picasso.get().load(new File(...)).resize(50, 50).centerCrop().into(imageView);


查看完整回答
反对 回复 2023-07-28
  • 2 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信