Android内部存储与外部存储的奇怪大小差异

时间:2014-01-14 12:29:45

标签: android memory difference android-external-storage internal-storage

我试图将运行期间从互联网下载的一些图像保存到外部存储器中,以便我可以直接读取它们而不是再次下载。 一切都运作良好,除了它占用太多空间。 如果我在内部存储中存储相同的图像,它只需要大约300kb,但对于外部存储,它需要近1.7mb。

有人可以解释为什么会这样。

这是我用来将文件存储在外部存储器中的代码。

public void saveImage(Context ctx, Bitmap b,String name){ //for external storage
    FileOutputStream out;
    try {
        File file = new File(ctx.getExternalFilesDir(null), name);
        out = new FileOutputStream(file);
        b.compress(Bitmap.CompressFormat.JPEG, 80, out);
        out.close();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

以下一个用于将文件存储在内部存储

public void saveImage(Context ctx, Bitmap b,String name){
    FileOutputStream out;
    try {
        out = ctx.openFileOutput(name, Context.MODE_PRIVATE);
        b.compress(Bitmap.CompressFormat.JPEG, 80, out);
        out.close();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

这个方法既可以从同一个地方调用,但是当我查看使用的内存时,会有很大的不同。

我正在搜索最近2天,但没有找到任何关于此问题的信息。 任何帮助都非常感谢

0 个答案:

没有答案