我正在使用Picasso在我的Android应用程序中显示图像:
/**
* load image.This is within a activity so this context is activity
*/
public void loadImage (){
Picasso picasso = Picasso.with(this);
picasso.setDebugging(true);
picasso.load(quiz.getImageUrl()).into(quizImage);
}
Run Code Online (Sandbox Code Playgroud)
我已启用调试,它始终显示红色和绿色.但从不显示黄色
现在,如果我下次加载相同的图像并且互联网不可用,则不会加载图像.
问题:
I'm using picasso library to load images for my app. But I don't how to implement my own disk (sdcard) caching with picasso library.
我在我的应用程序中使用Picasso有效地加载图像并且正在最好地完成他的工作.问题是,目前如果我Picasso.with()使用相同的URL多次调用 ,但是每次使用具有不同尺寸的图像视图时,图像获得下载again.In Glide我们的方法 .diskCacheStrategy()与DiskCacheStrategy.SOURCE解决的problem.is有毕加索任何替代办法?
在这个查询中,我们将获得Glid的解决方案但不适用于Picasso.how我可以重用图像而无需重新加载不同尺寸的ImageView.
这是我正在使用的代码
Picasso.with(context)
.load(URI)
.placeholder(R.drawable.ic_profile_thumb)
.resize(180, 180).centerInside()
.into(viewHolder.imgThumbnail);
Run Code Online (Sandbox Code Playgroud) 我一直在搜索SO线程的答案,但无法从之前的讨论中找出我的问题.我有一个listview加载大约50个图像(它曾经是大约100个图像,但根本没有加载任何图像).从api端点获取我的JSON内容(包括图像URL)后,通过适配器,我的代码将其放入listview中.
目前,有50张图片,当我向下滚动Feed时,毕加索将一次加载一张图片.我觉得好像保持滚动固定在列表视图中的一个项目将使该图像加载更快.然而,当我向上滚动时,它会将占位符放回并重新加载图像.有没有办法解决这个问题?
public class MainActivity extends Activity {
private List<Post> myPosts = new ArrayList<Post>();
protected String[] mBlogPostTitles;
public static final String TAG = MainActivity.class.getSimpleName();//prints name of class without package name
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(isNetworkAvailable()) {
GetBlogPostsTask getBlogPostsTask = new GetBlogPostsTask(); // new thread
getBlogPostsTask.execute();// don't call do in background directly
}else{
Toast.makeText(this, "Network is unavailable", Toast.LENGTH_LONG).show();
}
}
public boolean isNetworkAvailable() {
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
boolean isAvailable = false; …Run Code Online (Sandbox Code Playgroud) 我在我的Android应用程序上使用Picasso库来加载图像.我想在我的应用程序上添加一个名为"清除图像缓存"的选项,它将从缓存中删除所有下载的图像,但显然这只会从我的应用程序中删除下载的图像(我的意思是不会从其他应用程序中删除).
使用毕加索有一种简单的方法吗?使用本机组件?
谢谢!
我正在使用Picasso保存一组图片以供离线观看.稍后我需要从缓存中手动删除一些图片.我可以删除文件夹中的所有文件,但我不需要这个.我需要从缓存中删除2或3个文件.invalidate不适合我.谁能帮我?
我正在尝试在 Android 中使用 Picasso 加载更大尺寸的图像(以数百 KB 为单位)。但似乎图像每次都从互联网加载,并且无法从磁盘缓存加载(或检索)(如果在主内存中不可用)。
我认为这可能是由于以下问题。
所以我的问题是
如果此机制背后还有其他原因,请解释。
在我使用Volley之前,我已经使用DiskLruCache [link] 和Volley将图像缓存在磁盘上.
现在我一直在使用正在使用Picasso的应用程序.
我想知道Picasso是否支持磁盘缓存.如果它支持我如何修复缓存大小.
使用磁盘缓存从远程加载图像时哪个有用?