【问题标题】:Picasso - does the resize happen before the image is downloadedPicasso - 是否在下载图像之前调整大小
【发布时间】:2014-04-08 17:43:05
【问题描述】:

使用此代码:

Picasso.with(context).load(url).resize(60, 60)

Picasso 会在下载图片之前调整其大小吗?如果图像是 8MB - 我不希望它被下载然后调整大小。

我无法在任何地方找到答案,但也许很明显!

【问题讨论】:

    标签: android picasso


    【解决方案1】:

    不,显然它不会在下载之前调整它的大小 - 这是不可能的。查看链接,首先 - 下载,其次 - 调整大小。如果您想获得较小的图像,当然如果有这样的机会,您应该要求较小的图像。您可以编写优雅降级:如果文件大小大于限制,则不要下载它并显示一些占位符。可以先检查内容长度来实现:

    URL url = new URL("http://server.com/file.png");
    URLConnection urlConnection = url.openConnection();
    urlConnection.connect();
    int file_size = urlConnection.getContentLength();
    

    取自这里How to know the size of a file before downloading it?

    【讨论】:

    • 谢谢,我想我认为您可以即时将流解码为特定大小。你知道毕加索是否有办法接受位图数组吗?而不是 URL?
    • @user3437721 afaik 你必须使用相同的load 方法一张一张地加载图像,但是通过提供图像的路径或它的 id square.github.io/picasso/javadoc/index.html 它可以通过循环来完成
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 2011-04-16
    • 2012-12-14
    相关资源
    最近更新 更多