Android glideのローカル画像のロードで発生した問題


質問:ローカルの画像をロードしてずっとロードできなくて、どこが現れたのか分からない問題で、画像の命名の方式だと思って、試しても始まらないで、後ろにglideのソースコードを見てglideがローカルの画像をロードするのも使うような方法で、後ろに上家同事を聞いて、郭人、やっと最初の問題が画像の経路の問題であることを発見しました.
手順:
まず画像のパスをチェックします(絶対パスは書かないで!!):
私はImageViewをファジイで生成した画像をSDカードに保存し、他の場所で呼び出して表示します.
(一):画像の生成と保存
    public static void viewSaveToImage(Context context, View view) {
        view.setDrawingCacheEnabled(true);
        view.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
        view.setDrawingCacheBackgroundColor(Color.WHITE);

        //    View     
        Bitmap cachebmp = loadBitmapFromView(view);
        FileOutputStream fos;
        String imagePath = "";
        try {
            //          SD 
            boolean isHasSDCard = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
            if (isHasSDCard) {
                // SD    
                File sdRoot = Environment.getExternalStorageDirectory();
                String fileName = getSDPath() +"/" + Calendar.getInstance().getTimeInMillis()+".jpg";// name     
                File file = new File(fileName);
//                File file = new File(sdRoot, "wuaisport/" + Calendar.getInstance().getTimeInMillis() + ".jpg");
                Log.e(TAG, "viewSaveToImage filePath   : " + file.getPath());
                SPUtils.getInstance().put(Constants.SKIN_CONFIG_PIC_PATH, file.getAbsolutePath());
                //                
                Uri uri = Uri.fromFile(file);
                context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));
                fos = new FileOutputStream(file);
                imagePath = file.getAbsolutePath();
            } else
                throw new Exception("      !");
            cachebmp.compress(Bitmap.CompressFormat.PNG, 90, fos);
            fos.flush();
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        LogUtil.e("imagePath=" + imagePath);
        view.destroyDrawingCache();
    }

SDカードのパスを取得することが重要です.
    public static String getSDPath() {
        File sdDir = null;
        boolean sdCardExist = Environment.getExternalStorageState()
                .equals(android.os.Environment.MEDIA_MOUNTED);//  sd     
        if (sdCardExist) {
            sdDir = Environment.getExternalStorageDirectory();//     
        }
        return sdDir.toString();
    }

生成されたピクチャパス:imagePath=/storage/emulated/0/1556246754134.jpg
(二)他の場所で展示する(glideを使う):
Glide.with(context).load(Uri.fromFile(new File(absPicPath))).into(ivCustomeBg);

glideローカルSDカード画像をロードして表示します.