Android 哪个目录可以安全地保存数据

Android 哪个目录可以安全地保存数据,android,android-sdcard,android-external-storage,Android,Android Sdcard,Android External Storage,我制作了一个应用程序,该应用程序必须下载和存储太多的图像,并且可能会在设备中不时出现无限数量的图像。现在我关心以下几点 下载的图像应无法在库中显示 在卸载应用程序时,包含我下载的图像的目录也应该被删除 出于第2点的考虑,我找到了一种方法,可以在卸载应用程序时删除目录。现在我使用以下两种方法来保存数据 程序1 文件存储路径=新文件(context.getFilesDir()+“MTest”) 这将在以下路径中创建名为“MTest”的文件夹/目录/data/data/com.example.demo

我制作了一个应用程序,该应用程序必须下载和存储太多的图像,并且可能会在设备中不时出现无限数量的图像。现在我关心以下几点

  • 下载的图像应无法在库中显示
  • 在卸载应用程序时,包含我下载的图像的目录也应该被删除 出于第2点的考虑,我找到了一种方法,可以在卸载应用程序时删除目录。现在我使用以下两种方法来保存数据

    程序1

    文件存储路径=新文件(context.getFilesDir()+“MTest”)

    这将在以下路径中创建名为“MTest”的文件夹/目录/data/data/com.example.demo.myapplication/filesMTest/S_12~ipad.png

    程序2

    文件存储路径=新文件(context.getExternalFilesDir(“Mtest”)+“”)

    这将在以下路径中创建名为“MTest”的文件夹/目录/storage/sdcard0/Android/data/com.example.demo.myapplication/files/SMU/MTest/S_6~ipad.png

    当从设备上卸载应用程序时,这两个文件夹都会被删除,而且其中的图像也无法在多媒体资料中显示

    但如果我使用以下步骤3

    File storagePath=新文件(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+“MTest”)

    它使文件夹在外部存储中,我想是这样的,即使我们卸载了应用程序,文件夹仍保留在设备中,并且它也可以显示在设备库中

    我想要什么

    我不确定如果我使用程序1和2,那么

  • 在这些文件夹路径中下载是否安全
  • 我能否在设备中存储尽可能多的图像和无限空间
  • 如果使用步骤3,在卸载应用程序时如何删除文件夹
  • 我希望我的应用程序能够在卸载应用程序时删除它创建的用于保存数据的文件夹,并且它应该具有应用程序所需的最大可用空间
    请告诉我做这些事情的方法?或者告诉我哪种方法最好,步骤1、2或步骤3。根据我在最后讨论的应用程序的行为

    你忘了NR4。在可移动micro SD卡上使用特定于应用程序的目录。与所有其他解决方案一样,在卡满之前,您有“无限空间”。@greenapps我不想使用sd卡,因为有些人不在设备上使用sd卡。您应该让用户在1、2、3和4之间进行选择。没人,我不是在这一上下文中说的,让我们讨论一下,会发生什么,如果用户选择选项1并开始将图片下载到应用程序安装目录中?应用程序安装目录中是否有任何存储限制,如最大100mb或其他限制。否。getFilesDir()提供私有内部内存。当然,内存是有限制的。大多数情况下,内存比外部内存少。没有多少设备像micro-SD卡那样拥有32gb的外部存储器。100mb?你是说100MB吗?