square / picasso

A powerful image downloading and caching library for Android
https://square.github.io/picasso/
Apache License 2.0
18.7k stars 3.97k forks source link

Failed to load imge from URI, sync MiniThumbDataFile failed #1113

Open icyfox-bupt opened 9 years ago

icyfox-bupt commented 9 years ago

Hi, your project is great and I would like to use it to make a custom gallery like this: device-2015-08-15-114812

I used the recyclerview to make a gridview and load image by URI:

Uri uri = Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, cursor.getString(0));
Picasso.with(getApplicationContext()).load(uri)
                .resize(300, 300)
                .centerCrop()
                .into(holder.iv);

But like the above picture, there are some images can't be shown, and the Logcat shows:

08-15 11:33:21.517  17119-17243/cn.app W/MiniThumbFile﹕ sync MiniThumbDataFile failed
java.lang.NullPointerException
        at android.media.MiniThumbFile$MiniThumbDataFile.syncAll(MiniThumbFile.java:590)
        at android.media.MiniThumbFile$MiniThumbDataFile.close(MiniThumbFile.java:571)
        at android.media.MiniThumbFile.deactivate(MiniThumbFile.java:199)
        at android.provider.MediaStore$InternalThumbnails.getThumbnail(MediaStore.java:793)
        at android.provider.MediaStore$Images$Thumbnails.getThumbnail(MediaStore.java:1152)
        at com.squareup.picasso.MediaStoreRequestHandler.load(MediaStoreRequestHandler.java:84)
        at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:206)
        at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:159)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:848)
        at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:411)

this problem may not appear at next loading, but it do disturbed me . My phone is Meizu M1 4.4.4

Waiting for your response , thank you.

JakeWharton commented 6 years ago

This seems like a device-speciifc bug. Do you see it on other devices? Can you reproduce it with our sample?