我正在使用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一样快速显示?
这是我减少的适配器代码(非常简单).
尝试使用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并在适配器中实现该功能以提高性能.
| 归档时间: |
|
| 查看次数: |
1370 次 |
| 最近记录: |