我在my_date= request.POST.get('my_date','') # for eg. 2015-10-26
events = FacebookEvent.objects.all().filter(start_time__range=
(datetime.combine(my_date,(datetime.min).time()), datetime.combine(my_date,(datetime.max).time()))).order_by('start_time')
内部有一个RecyclerView
实现,其性能非常糟糕。 Here's a video of the performance in question.我有两种视图类型,并且正在使用ViewHolder模式(因此它不是通货膨胀或查找导致问题的视图)。
这里是cardview.xml文件
ViewPager
除了通货膨胀之外,删除所有适配器代码仍会导致明显滞后。 我真的无法找到这个的底部,非常感谢任何帮助/提示。
编辑:更多信息:删除数据集"隐藏"代码(getRealPosition,hideAll,unhideAll)对RecyclerView的速度没有影响。此外,删除FlowLayout并不会使它更快。
答案 0 :(得分:9)
我在使用RecyclerView时遇到了同样的问题。这是滞后的。就我而言,RecyclerView中有一个水平的图像按钮列表。
我通过从scaleType
或ImageButtons
移除ImageViews
并使用resizing
加载Picasso图像来解决此问题,如:
Picasso.with(context).load(icon.get(position)).resize(270,270).centerCrop().into(holder.iconView);
由于大尺寸图像的运行时缩放或否,可能会出现滞后问题。的图像。这是不可取的。毕加索负责调整大小,并有效地加载。它还为你处理缓存。
答案 1 :(得分:0)
我用的是TheOddAbhi写的同一行代码,
Picasso.with(context).load(icon.get(position)).resize(270,270).centerCrop().into(holder.iconView);
但是在我的布局文件中,从scaleType
中删除ImageView
无效,因此我删除了android:adjustViewBounds="true"
,这是导致滞后的问题。