接上文:
遗留问题
同样是使用Picasso,图片存于drawable文件夹中,RecycleView的界面滑动十分卡顿。查看Github作者的例子,图片存在assets文件夹中存放图片,通过Picasso传入图片的路径就可以很流畅的加载出图片。
我分别实验了两种:图片放在drawable文件夹下和asset文件夹下。
Drawable文件夹下,AS内存使用情况:
显示内存消耗过多,程序运行卡顿。
在Asset文件夹下,AS的内存使用情况:
内存消耗较低,程序运行比较流畅。
实现
1-AndroidStudio下新建Asset目录:
工程右键New:
新建一个自己的子文件夹demo-pictures
然后把图片文件放在这个asset文件夹下。
2-RecycleView设置Adapter传入asset资源
String[] canteenImages = null;
try {
canteenImages = getActivity().getAssets().list("demo-pictures");
} catch (IOException e) {
e.printStackTrace();
}
3-修改自定义Adapter里绑定数据的方法
@Override
public void onBindViewHolder(
final ShouyeFragmentAdapter.MyViewHolder holder, int position) {
//asset文件路径
String path = "file:///android_asset/demo-pictures/"
+ mImageList[position];
Log.d("tag", path);
Picasso.with(holder.foldableLayout.getContext()).load(path)
.into(holder.iv_cover);
Picasso.with(holder.foldableLayout.getContext()).load(path)
.into(holder.iv_detail);
...
}
ok再次测试运行,流畅很多。