提问原因:所有文章都说应该使用外部存储空间(因为比较大)。
提问:内部存储空间具体有多小?
设备:小米8SE, 机身内存64G。
已知条件:
内部存储路径:理论上是根目录/data/data/包名/。
用AndroidStudio的设备文件管理器查看确实是根目录/data/data/包名/。
用getCacheDir().getAbsolutePath()打印出的路径是/data/user/0/包名/cache。
这里我就挺奇怪的(data变成了user/0),希望能顺便帮我解答一下。
外部存储路径:理论上是根目录/storage/sdcard/Android/data/包名。
用AndroidStudio的设备文件管理器查看是根目录/sdcard/Android/data/包名(跟理论上的不太一样)。
用getExternalCacheDir().getAbsolutePath()打印出的路径是/storage/emulated/0/Android/data/包名/cache。
反正都不太一样,但也差不多,可能不同手机厂家都有差异。
动手实践:
实践1:已经写代码尝试确实可以在内部存储目录下 新建文件夹 和 文件(图片,视频)。
实践2:StatFs可以计算出内存相关的数据,我的数据是block大小:4096,block数目:12882803,总大小:49GB。
这里也挺奇怪,手机参数写着64G,用这个算出来是49G。
可用的block数目::1781435,剩余空间:6GB
疑问:谁能给个具体的数据,内部存储目录下放多少文件APP就不能运行了(内部空间具体有多小)。
个人理解:linux我不知道,但是Windows是CDE盘在最开始就确定了,比如C盘100GB,D盘500GB。
我觉得安卓不像Windos一样分盘,而是只有一个盘,大家(内部和外部存储)一起用,只是大家路径不一样,比如我现在手机还剩6G空间,我往内部存储里放5个G文件也是可以正常使用的(这是猜测,没有实践, 很可能是错的)。
求大佬讲一下正确的姿势(顺便吐槽一下好多文章都没有刨根问底的态度呢)。