app的安装路径解析和应用存储数据路径解析

应用安卓目录:

普通三方app:/data/app/
普通系统应用:/system/app/
特权系统应用:/system/priv-app/

安装存储目录解析

1.访问方法:
 
Environment.getDataDirectory() = /data
	
Environment.getDownloadCacheDirectory() = /cache
	 
Environment.getExternalStorageDirectory() = /storage/emulated/0
	 
Environment.getExternalStoragePublicDirectory(“test”) =/storage/emulated/0/test
	 
Environment.getRootDirectory() = /system
	 
getPackageCodePath() = /data/app/包名-1/base.apk
	 
getPackageResourcePath() = /data/app/包名-1/base.apk
	 
getCacheDir() =/data/user/0/包名/cache
	 
getDatabasePath(“test”) = /data/user/0/包名/databases/test
	 
getDir(“test”, Context.MODE_PRIVATE)=/data/user/0/包名/app_test
	 
getExternalCacheDir() =/storage/emulated/0/Android/data/包名/cache
	 
getExternalFilesDir(“test”)=  /storage/emulated/0/Android/data/包名/files/test
	 
getExternalFilesDir(null) =/storage/emulated/0/Android/data/包名/files
	 
getFilesDir() = /data/user/0/包名/files
 
2.储存位置解析

内部存储 和 外部存储 都是设备内置存储的一部分,它们通常是由NAND闪存构成。
ROM 在现代移动设备中通常指的是设备的内置存储,但严格来说,ROM应该是指那些不可写入或不易更改内容的存储区域。
内部存储 是私有的,仅供应用自己使用;外部存储 是共享的,可供多个应用访问。
因此,可以说内部存储和外部存储都是设备ROM的一部分,但它们的功能和用途是不同的

2.1外部存储(是共享的,可供多个应用访问。)
/storage/emulated/legacy(legacy是用户id,legacy可以是0、1、2……)。
而/storage/sdcard0, /sdcard, /mnt/sdcard都为软连接到/storage/emulated/legacy(真正存储的地方)

  1. 共享性:外部存储可以被多个应用共享,因此任何应用都可以访问存储在外部存储上的文件(只要它们具有相应的权限)。
  2. 持久性:外部存储的数据同样是持久化的,但在某些情况下,如用户清除应用缓存或设备重置,数据可能会被删除。
  3. 存储位置:外部存储通常指的是SD卡或设备内置的一个可被用作公共存储区域的部分,路径可能是/storage/emulated/0/或类似的位置。
  4. 存储类型:外部存储适合存储非关键性的数据,如多媒体文件(图片、视频、音乐等)、缓存文件等。
  5. 生命周期:外部存储的数据在应用卸载后可能仍然存在,除非应用明确地删除了这些文件。

2.2内部存储(私有的,仅供应用自己使用,别的应用访问不到,除非root了)
常见就是我们的/data/data目录下的数据,实际是挂载在/data/user/0上,/data/data软连接到/data/user/0

  1. 私有性:内部存储是私有的,只能被存储数据的应用本身访问。其他应用无法直接读取或修改存储在此的数据。
  2. 持久性:内部存储的数据是持久化的,即当设备重启或应用关闭后,数据不会丢失。
  3. 存储位置:内部存储位于设备的/data/data/<package_name>/目录下
  4. 存储类型:内部存储通常用于存储应用的关键数据,例如数据库文件、配置文件等。 生命周期:当用户卸载应用时,内部存储中的所有数据都会被删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值