每次点击添加都增加一个条目来显示图片,添加到一定条目数量之后oom了
7条回答 默认 最新
aLvXuan 2020-12-14 17:37关注正常来说,RecyclerView因为复用ViewHolder 的原因,并不会出现 OOM,多出现在 RecyclerView嵌套了可滚动的控件,比如 RecyclerView+RecyclerView, ScrollView + RecyclerView, RecyclerView + GridView 等等,嵌套之后,ViewHoler 得不到复用,会一直叠加,最终oom,如果你是嵌套了,可以考虑只使用一个RecyclerView 多个 ViewHoler Type 的方式去实现。
关于Glide,改一下加载的大小,可能会有所改观
Glide.with(context) .load(url) .override(width, height)另外,ViewHolder 里面使用 Glide,最好是绑定 ImageView 的 tag,不会加载错乱
holder.itemView.setTag(R.id.imageView_01, position) Glide.with(context) .load(url) .into(object : CustomViewTarget<ImageView, Bitmap>(imageView) { override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) { if (position != holder.itemView.getTag(R.id.imageView_01)) { return } imageView.setImageBitmap(resource) } }.view)解决 无用评论 打赏 举报