Я использую Android Universal Image Loading в своем приложении для Android для загрузки изображений из Интернета, и он работает просто отлично, без ошибок outOfMemory. но я пытался использовать его с локальными уже существующими изображениями на моем устройстве (каталог кеша, например, /data/data/package-name/cache/...), но безуспешно я использовал файл:// плюс ссылку на изображение, но кажется, что у меня что-то идет не так, так как иногда загружаются изображения, а часто нет. Я попытался создать свой собственный локальный ImageDownloader
, расширив ImageDownloader
, но это тоже не сработало. чтобы было ясно: это не проблема разрешения, это не проблема пути! И изображения физически существуют в каталоге кеша.
вот ошибка у меня в logcat:
05-13 11:41:10.605: W/System.err(28789): java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
05-13 11:41:10.605: W/System.err(28789): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
05-13 11:41:10.613: W/System.err(28789): at java.lang.Thread.run(Thread.java:856)
05-13 11:41:10.613: W/System.err(28789): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
05-13 11:41:10.613: W/System.err(28789): at libcore.io.Posix.open(Native Method)
05-13 11:41:10.613: W/System.err(28789): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
05-13 11:41:10.613: W/System.err(28789): at libcore.io.IoBridge.open(IoBridge.java:400)
05-13 11:41:10.613: W/System.err(28789): ... 10 more
05-13 11:41:10.613: W/System.err(28789): java.io.FileNotFoundException: /file:/storage/sdcard0/Android/data/com.paperpad.grainedor.appservices/cache/-977741495: open failed: ENOENT (No such file or directory)
05-13 11:41:10.621: W/System.err(28789): at libcore.io.IoBridge.open(IoBridge.java:416)
05-13 11:41:10.621: W/System.err(28789): at java.io.FileInputStream.<init>(FileInputStream.java:78)
05-13 11:41:10.621: W/System.err(28789): at com.paperpad.grainedor.appservices.activities.LocalImageDownloader.getStream(LocalImageDownloader.java:28)
05-13 11:41:10.621: W/System.err(28789): at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.getImageStream(BaseImageDecoder.java:84)
05-13 11:41:10.621: W/System.err(28789): at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.decode(BaseImageDecoder.java:73)
05-13 11:41:10.621: W/System.err(28789): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:290)
05-13 11:41:10.629: W/System.err(28789): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:250)
05-13 11:41:10.629: W/System.err(28789): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:131)
05-13 11:41:10.629: W/System.err(28789): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
05-13 11:41:10.629: W/System.err(28789): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
05-13 11:41:10.629: W/System.err(28789): at java.lang.Thread.run(Thread.java:856)
05-13 11:41:10.629: W/System.err(28789): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
05-13 11:41:10.629: W/System.err(28789): at libcore.io.Posix.open(Native Method)
05-13 11:41:10.629: W/System.err(28789): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
05-13 11:41:10.629: W/System.err(28789): at libcore.io.IoBridge.open(IoBridge.java:400)
05-13 11:41:10.629: W/System.err(28789): ... 10 more
05-13 11:41:10.629: E/ImageLoader(28789): Image can't be decoded [/data/data/com.paperpad.grainedor.appservices/cache/medias/6/optimized/Sales_individuels_2.jpg_1280x752]
замечание по этому поводу - добавление /storage/sdcard0/Android/
из ниоткуда в моем коде!
file://
. Например:file:///mnt/sdcard/cache/...
- person nostra13   schedule 14.05.2013