Android内、外存储 易混淆点剖析【/mnt/sdcard、/storage/sdcard0、/storage/emulated/0三个路径的差距】

  • Android内、外部存储基础知识点及文件夹所在位置

  • 存储路径中“0”的含义与变化

  • 多种sd卡路径表示含义与区

    一. Android内外存储基础知识
    Android手机上的存储空间可做如下划分:

    内存:RAM
    内部存储:内部ROM
    外部存储:外部ROM和SDCard
    手机上的存储在概念上分成了”内部internal“和”外部external“两部分,但其实都在手机内部。因此无论Android手机是否有可移动的sdcard,它都有外部存储和内部存储,且通过相同的Api方法来访问可移动的sdcard或者手机自带的存储。

    (1)内部存储:

    Android可以说是一个Linux操作系统,它的内部存储空间对于应用程序和用户来讲就是“/data/data“目录。内部存储与外部存储相比有着比较稳定,存储方便,操作简单,更加安全(可以控制访问权限)等优点,而它唯一的缺点就是空间有限。

    内部存储空间的有限意味着应物尽其用,用来保存比较重要的数据,例如用户信息资料,口令秘码等不需要与其他应用程序共享的数据。注意应用程序被卸载时,应用程序在内部存储空间的文件数据将全部被删除,避免占用宝贵的空间。

    内部存储即data文件夹,其中里面有两个文件夹值得关注:

    app文件夹(未root无法打开):存放着所有app的apk文件夹,当开发者调试某个app时,AS控制台输出的内容中有一项是uploading…,代表正在上传apk到这个文件夹。
    data文件夹:内部都是app的包名,存储着应用程序相关的数据,例如 data/data/包名/(shared_prefs、database、files、cache)
     

  • (2)外部存储

    外部存储是指用户在使用时自行在手机上添加的外部存储介质,例如TS卡,SD卡等闪存储介质。其显著的优点就是存储空间大,无需担心数据清除问题,与内部存储不同的是当应用程序卸载时,它在外部存储所创建的文件数据不会被清除,因此清理外部存储空间的责任丢给了用户自己。缺点则是不太稳定,闪存介质对于Android手机而言会出现SD卡不能正常使用的情况。

    外部存储即storage文件夹或mnt文件夹。需要注意的是storage中有一个sdcard0文件夹,其中又分为公有目录和私有目录:

    公有目录:有9大类,比如DCIM、Download等系统为用户创建的文件夹;
    私有目录: 即Android文件夹/storage/sdcard/Android/,其中的data文件夹包含了许多包名组成的文件夹。

  • (3)内外部存储常用目录操作

    context.getFilesDir() 内部存储data/data/包名/files目录
    context.getCacheDir() 内部存储data/data/包名/cache目录
    Environment.getExternalStorageDirectory() 外部存储根目录
    Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_DCIM) 外部存储公有目录
    context.getExternalFilesDir() 外部存储私有目录storage/sdcard/Android/data/包名/files。一般存储长时间保存的数据。
    context.getExternalCacheDir() 外部存储私有目录storage/sdcard/Android/data/包名/cache。一般存储临时缓存数据。
     

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值