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

当我想将存储中的大尺寸照片放入小 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())

        }

    }

}


POPMUISE
浏览 136回答 2
2回答

森栏

更好的方法是使用这段代码:Glide.with(imageView.context)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .load(imageFile)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .apply(RequestOptions().centerCrop())&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .into(imageView)滑翔等级更快、更优化。

动漫人物

我建议你使用picasso和 resize methode,它将避免你缺乏速度和崩溃Picasso.get().load(new File(...)).resize(50, 50).centerCrop().into(imageView);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java