温馨提示×

android storaged与内部存储有何区别

小樊
82
2024-09-08 10:12:56
栏目: 云计算

Android的存储系统主要分为内部存储和外部存储,它们在数据存储、访问权限、数据持久性等方面存在显著差异。以下是详细介绍:

内部存储与外部存储的定义

  • 内部存储:设备的内置存储,专门用于保存应用的私有数据。每个应用都有自己的内部存储空间,其他应用不能访问。
  • 外部存储:设备的共享存储区域,可以是内置存储(如主存储)或可移动存储(如SD卡)。外部存储可以被多个应用访问,但需要申请相应的权限。

访问权限

  • 内部存储:每个应用的内部存储空间仅允许自己访问,除非有更高的权限,如root。
  • 外部存储:需要申请读写权限。所有应用都可以读外部存储而不需要任何权限,但写操作需要申请WRITE_EXTERNAL_STORAGE权限。

数据持久性

  • 内部存储:应用卸载后,该目录也会被删除。
  • 外部存储:应用卸载时,只有存在/storage/emulated/0/Android/data/package_name/路径下的文件会消失。

使用场景

  • 内部存储:适用于存储应用的配置文件、用户数据等私有文件。
  • 外部存储:用于存放用户可见的文件,如图片、音频、视频等,或应用希望与其他App共享或传到电脑上的文件。

存储位置

  • 内部存储:路径为/data/data/<package_name>/
  • 外部存储:路径为/storage/emulated/0/Environment.getExternalStorageDirectory()

权限申请

  • 内部存储:不需要申请额外权限。
  • 外部存储:需要申请READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE权限。

可信度

  • 内部存储:永远可用(Permanent)。
  • 外部存储:可能不可用,最典型的当设备作为USB存储被mount时不可用。

通过上述对比,可以看出内部存储和外部存储各有其特点和适用场景,开发者在设计应用时,应根据数据的重要性和访问需求,选择合适的存储方式。

0