相关疑难解决方法(0)

如何在Picasso中使用磁盘缓存?

我正在使用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)

我已启用调试,它始终显示红色和绿色.但从不显示黄色

现在,如果我下次加载相同的图像并且互联网不可用,则不会加载图像.

问题:

  1. 它没有本地磁盘缓存吗?
  2. 如何启用磁盘缓存,因为我将多次使用相同的图像.
  3. 我需要为android清单文件添加一些磁盘权限吗?

android caching image picasso

116
推荐指数
5
解决办法
10万
查看次数

如何使用picasso库实现我自己的磁盘缓存 - Android?

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.

android caching image picasso

23
推荐指数
2
解决办法
2万
查看次数

Picasso Image再次下载了不同尺寸的ImageView?

我在我的应用程序中使用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)

java android picasso

16
推荐指数
2
解决办法
4133
查看次数

Picasso在listview中向上滚动时不断重新加载图像,加载缓慢

我一直在搜索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)

java android picasso

12
推荐指数
2
解决办法
9850
查看次数

清除Picasso图像缓存

我在我的Android应用程序上使用Picasso库来加载图像.我想在我的应用程序上添加一个名为"清除图像缓存"的选项,它将从缓存中删除所有下载的图像,但显然这只会从我的应用程序中删除下载的图像(我的意思是不会从其他应用程序中删除).

使用毕加索有一种简单的方法吗?使用本机组件?

谢谢!

android caching image picasso

8
推荐指数
1
解决办法
1万
查看次数

android从缓存毕加索中删除一些图片

我正在使用Picasso保存一组图片以供离线观看.稍后我需要从缓存中手动删除一些图片.我可以删除文件夹中的所有文件,但我不需要这个.我需要从缓存中删除2或3个文件.invalidate不适合我.谁能帮我?

android caching picasso

5
推荐指数
1
解决办法
623
查看次数

Picasso 缓存机制如何响应 Cache-Control 属性和图像大小?

我正在尝试在 Android 中使用 Picasso 加载更大尺寸的图像(以数百 KB 为单位)。但似乎图像每次都从互联网加载,并且无法从磁盘缓存加载(或检索)(如果在主内存中不可用)。

我认为这可能是由于以下问题。

  • 图像大小很大(100KB-300KB)。
  • Cache-Control 属性未在 HTTP 响应头中定义。

所以我的问题是

  1. 磁盘缓存中的图像大小是否有任何限制?如果图像尺寸很大,毕加索缓存机制如何在这种情况下工作?
  2. 是否必须在响应头中设置 Cache-Control 属性?毕加索如何考虑缓存机制?

如果此机制背后还有其他原因,请解释。

performance android caching memory-management picasso

5
推荐指数
0
解决办法
1058
查看次数

毕加索是否支持图像磁盘缓存

在我使用Volley之前,我已经使用DiskLruCache [link] 和Volley将图像缓存在磁盘上.

现在我一直在使用正在使用Picasso的应用程序.

我想知道Picasso是否支持磁盘缓存.如果它支持我如何修复缓存大小.

使用磁盘缓存从远程加载图像时哪个有用?

android caching disk android-volley picasso

0
推荐指数
1
解决办法
3939
查看次数