如何在GridView中最佳地优化Picasso?

Mik*_*oop 4 android picasso

我正在使用Picasso(2.5.2)通过适配器将本地content://图像加载到3列中GridView.

Picasso
    .with(mContext)
    .load(mCameraImages.getUris().get(position))
    .error(android.R.drawable.ic_dialog_alert)
    .fit()
    .centerCrop()
    .into(view);
Run Code Online (Sandbox Code Playgroud)

在我的特定情况下,mCameraImages它只是一个URI列表,来自本地mediaStore.

我发现当我加载时GridView,Picasso总是从磁盘(蓝色调试指示器)而不是内存中取出图像.

这是预期的,但我想通过更快地加载缩略图或图像来优化UX.

如果向下滚动GridView并且必须等待〜秒才能完成磁盘提取,"性能"特别差.

我可以尝试哪些方法来优化Picasso加载,以便本地内容可以像QuickPic一样快速显示?

这是我减少的适配器代码(非常简单).

fid*_*989 5

尝试使用Glide.它应该比毕加索更快,更节省内存.代码也类似于Picasso,因此您不需要对代码进行太多更改.

示例代码:

Glide.with(mContext)
    .load(mCameraImages.getUris().get(position))
    .error(android.R.drawable.ic_dialog_alert)
    .centerCrop()
    .into(view);
Run Code Online (Sandbox Code Playgroud)

查看Glide vs Picasso的文章,了解两者之间的详细差异.

同时使用ViewHolder模式检查此改进性能以了解ViewHolder并在适配器中实现该功能以提高性能.