【问题标题】:Picasso is not loading images from the external storage毕加索没有从外部存储加载图像
【发布时间】:2018-03-11 12:08:53
【问题描述】:

在我的 android 项目中使用 Picasso(版本 2.5.2)并尝试以网格视图加载存储在设备中的所有图像。 Picasso 正在成功加载存储在内部存储中的所有图像,但没有从外部存储中加载这些图像。此外,日志中没有任何错误。

我还检查了文件是否存在并使用 Glide 库在视图中成功加载。

示例外部文件路径: /storage/0403-0201/DCIM/Camera/IMG_20180309_120329.jpg

【问题讨论】:

  • "日志中没有任何错误" -- AFAIK,不会有任何错误,除非你自己记录它们:stackoverflow.com/q/25744344/115145
  • 添加 READ_EXTERNAL_STORAGE 权限以显示并处理用户授予权限的请求。
  • @RahulKumar,哦忘了说清单中已经添加了所需的权限。

标签: android picasso android-glide universal-image-loader image-loading


【解决方案1】:

@CommonsWare,非常感谢!我附加了 Picasso.Listener 并得到了以下堆栈跟踪-

W/System.err﹕ java.io.IOException: Cannot reset
W/System.err﹕ at com.squareup.picasso.MarkableInputStream.reset(MarkableInputStream.java:99)
W/System.err﹕ at com.squareup.picasso.BitmapHunter.decodeStream(BitmapHunter.java:140)
W/System.err﹕ at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:217)
W/System.err﹕ at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:159)
W/System.err﹕ at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/System.err﹕ at java.lang.Thread.run(Thread.java:841)
W/System.err﹕ at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:394)
W/System.err﹕ java.io.IOException: Cannot reset
W/System.err﹕ at com.squareup.picasso.MarkableInputStream.reset(MarkableInputStream.java:99)
W/System.err﹕ at com.squareup.picasso.BitmapHunter.decodeStream(BitmapHunter.java:140)
W/System.err﹕ at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:217)
W/System.err﹕ at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:159)
W/System.err﹕ at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/System.err﹕ at java.lang.Thread.run(Thread.java:841)
W/System.err﹕ at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:394)

我探索了这个错误,发现 Picasso 2.5.2 不显示大图像,并且已在 Picasso github 页面上作为错误提交。

https://github.com/square/picasso/issues/907

解决方案:Picasso 2.5.x 存在错误,但 2.4.0 版本运行正常。

【讨论】:

    猜你喜欢
    • 2014-09-26
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多