Android 内部、外部存储

内部存储

保存在内部存储路径下的文件是应用的私有文件,其余应用不能访问这些文件(除非拥有 Root 访问权限),很是适合保存用户无需直接访问的内部应用数据。对内部存储中的文件进行操作时,不需要权限。
当卸载应用后,保存在私有路径中的文件也会被删除。所以,不应该将那些应用卸载之后还保留的数据文件放在私有路径中。
主要有如下几个经常使用的目录:

  • files目录
    完整路径为:/data/data//files。
    String path = getFilesDir().getAbsolutePath();

  • cache目录
    完整路径为:/data/data//cache
    String path = getCacheDir().getAbsolutePath();

  • shared_prefs目录
    完整路径为:/data/data//shared_prefs。用于保存SharedPreferences的数据文件。

  • databses目录
    完整路径为:/data/data//databses。用于保存Sqlite数据库文件。

外部存储

之前手机存在外置SD卡的情况下,外部存储空间指的就是SD卡,但是由于SD卡读写速度慢(限制了应用比如游戏的加载速度)等原因。现在几乎全部手机都会自带比较可观的内部存储容量,没有SD卡同样能够拥有外部存储了,这个外部存储严格意义上叫作内置外部存储

  1. 外部存储私有目录
    路径:/storage/emulated/0/Android/data/
  • files目录
    路径:/storage/emulated/0/Android/data//files
    String path = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES).getAbsolutePath(); // /storage/emulated/0/Android/data//files/Pictures
    getExternalFilesDir(String type)是须要一个字符串参数的,若是咱们传入空字符串,则获取到/storage/emulated/0/Android/data//files。

  • cache目录
    路径:/storage/emulated/0/Android/data/com.saltedfish.barcodedemo/cache
    String path = this.getExternalCacheDir().getAbsolutePath();

外部存储中私有目录中的内容同内部存储一样,当卸载应用时,数据会同样消失。

  1. 外部存储公有目录
    外部存储中,除了私有目录之外的目录,都是公有目录。程序保存在公有目录中的数据,在应用被删除后,仍然保留。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值