本文介绍了ImageLoader.getInstance()。getDiscCache()获得(图片网址)返回不同的路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!


  1. 呼吁缓存

    ImageLoader.getInstance()的LoadImage(CNT,图片网址,新ImageLoadingListener()


  2. 的/ mnt / SD卡/ Android的/数据/ [包装] /缓存/ 40d1dxbmdamufgcs742bjraew 创建


  3. ImageLoader.getInstance()getDiscCache()获得(图片网址) - 。返回的/ mnt / SD卡/ Android的/数据/ [包装] /缓存/ 40d1dxbmdamufgcs742bjraew - >确定

  4. 重启设备


  5. ImageLoader.getInstance()getDiscCache()获得(图片网址) - 。返回 /数据/数据​​/ [包装] /缓存/ 40d1dxbmdamufgcs742bjraew - > KO(此文件夹中创建,但其EMPTY)



解决方案

感谢 Doctoror驱动器

https://github.com/nostra13/Android-Universal-Image-Loader/tree/master/library/src/com/nostra13/universalimageloader/core

/ **
     *返回应用程序缓存目录中。缓存目录将SD卡上创建
     * (/ Android的/数据/ [app_package_name] /缓存)如果卡安装。否则 - Android的定义上的缓存目录
     *设备的文件系统。
     *
     * @参数范围内应用程序上下文
     * @返回缓存{@link文件目录}
     * /

 公共静态文件getCacheDirectory(上下文的背景下){
        文件appCacheDir = NULL;
        如果(Environment.getExternalStorageState()。等于(android.os.Environment.MEDIA_MOUNTED)){
            appCacheDir = getExternalCacheDir(上下文);
        }
        如果(appCacheDir == NULL){
            appCacheDir = context.getCacheDir();
        }
        返回appCacheDir;
    }
  1. Call to cache

    ImageLoader.getInstance().loadImage(cnt, imageUrl, new ImageLoadingListener()

  2. /mnt/sdcard/Android/data/[package]/cache/40d1dxbmdamufgcs742bjraew is created

  3. ImageLoader.getInstance().getDiscCache().get(imageUrl) - returns /mnt/sdcard/Android/data/[package]/cache/40d1dxbmdamufgcs742bjraew -> OK
  4. reboot device

  5. ImageLoader.getInstance().getDiscCache().get(imageUrl) - returns /data/data/[package]/cache/40d1dxbmdamufgcs742bjraew -> KO (THIS FOLDER IS CREATED BUT ITS" EMPTY)

解决方案

Thanks to Doctoror Drive

https://github.com/nostra13/Android-Universal-Image-Loader/tree/master/library/src/com/nostra13/universalimageloader/core

/** * Returns application cache directory. Cache directory will be created on SD card * ("/Android/data/[app_package_name]/cache") if card is mounted. Else - Android defines cache directory on * device's file system. * * @param context Application context * @return Cache {@link File directory} */

public static File getCacheDirectory(Context context) {
        File appCacheDir = null;
        if (Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) {
            appCacheDir = getExternalCacheDir(context);
        }
        if (appCacheDir == null) {
            appCacheDir = context.getCacheDir();
        }
        return appCacheDir;
    }

这篇关于ImageLoader.getInstance()。getDiscCache()获得(图片网址)返回不同的路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-08 21:57