Java 在不降低应用程序速度或崩溃的情况下将大尺寸照片放入小图像视图的问题
当我想把我的大尺寸照片从我的存储器放到小的图像视图中时,我遇到了一个问题。我想知道如何在不降低应用程序速度或崩溃的情况下将这些照片放在一个小的ImageView中。 我有一个RecyclerView,它在一个列表中显示了一些来自存储的图片。这是我的回收器适配器代码。 谢谢你的帮助Java 在不降低应用程序速度或崩溃的情况下将大尺寸照片放入小图像视图的问题,java,android,android-studio,kotlin,Java,Android,Android Studio,Kotlin,当我想把我的大尺寸照片从我的存储器放到小的图像视图中时,我遇到了一个问题。我想知道如何在不降低应用程序速度或崩溃的情况下将这些照片放在一个小的ImageView中。 我有一个RecyclerView,它在一个列表中显示了一些来自存储的图片。这是我的回收器适配器代码。 谢谢你的帮助 class Adapter(files: ArrayList<File>):RecyclerView.Adapter<Adapter.myViewHolder>() { val fil
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())
}
}
}
类适配器(文件:ArrayList):RecyclerView.Adapter(){
val files:ArrayList=files
重写CreateViewHolder(父级:ViewGroup,viewType:Int):myViewHolder{
val view=LayoutInflater.from(parent.context).充气(R.layout.item\u complex\u note\u视图,parent,false)
返回myViewHolder(视图)
}
重写getItemCount():Int{
返回文件.size
}
覆盖onBindViewHolder(holder:myViewHolder,位置:Int){
holder.bind(files.get(position))
}
类myViewHolder(itemView:View):RecyclerView.ViewHolder(itemView){
lateinit var imageView:imageView
初始化{
imageView=itemView.findViewById(R.id.complex\u note\u view\u item\u imageView)
}
趣味绑定(文件:文件){
imageView.setImageURI(文件.toUri())
}
}
}
我建议您使用带有resize methode的,这样可以避免速度不足和崩溃
Picasso.get().load(new File(...)).resize(50, 50).centerCrop().into(imageView);
更好的方法是使用以下代码:
Glide.with(imageView.context)
.load(imageFile)
.apply(RequestOptions().centerCrop())
.into(imageView)
Glide类速度更快,优化程度更高。它可以工作。非常感谢。