内部存储,外部存储,SD卡和可移动存储有什么区别?

时间:2011-02-23 15:00:37

标签: android

来自official documentation

  

使用外部存储

     

每个Android兼容设备都支持共享的“外部存储”   您可以用来保存文件。 这可以是可移动存储   媒体(如SD卡)或内部(不可移动)   存储......

我对这个问题感到很困惑。据我所知,使用外置存储并不一定意味着使用可移动卡,我是对的吗?但是,在谈论外部存储时,它总是被称为“SD卡”。

我正在开发一款从互联网上下载.mp3文件的应用。我想将这些文件保存在手机内存中(不想使用任何可移动设备),但是根据我所学到的,这些文件必须保存在外部存储器中。但是,我想提供导入的可能性。来自可移动设备的文件。我应该在哪里以及如何保存这些文件?

由于

5 个答案:

答案 0 :(得分:32)

内部存储,外部存储(又称主外部存储)和辅助外部存储之间的区别?

内部存储是用户无法访问的存储,除非是已安装的应用(或通过生根设备)。示例:data / data / app_packageName

外部存储有两种类型:

主要外部存储:在内置共享存储中,“用户可以通过插入USB电缆并将其作为驱动器安装在主机上”进行访问。示例:当我们说Nexus 5 32 GB。

辅助外部存储:可移动存储。示例:SD卡。

答案 1 :(得分:25)

在构建使用内部存储的应用程序时,Android操作系统会创建一个唯一的文件夹,只能从应用程序访问,因此其他应用程序甚至用户都无法看到文件夹中的内容。

外部存储更像是一个公共存储,所以现在它是SD卡,但可以成为任何其他类型的存储(远程硬盘或其他任何东西)。

内部存储应仅用于应用程序数据,(首选项文件和设置,声音或图像媒体,以便应用程序正常工作)。 如果您打算下载许多mp3,我建议将它们保存到外部存储,因为外部存储通常更大。此外,在内部存储器上存储数据可能会阻止用户安装其他应用程序。

答案 2 :(得分:18)

根据Google /官方Android文档的内部和外部存储术语与我们的想法完全不同。

根据官方Android文档: -

内部存储:默认情况下,保存到内部存储的文件对您的应用程序是私有的,而其他应用程序无法访问它们。当用户卸载您的应用程序时,将删除/删除这些文件。您的应用用户也无法使用文件管理器访问它们;甚至在启用"显示隐藏文件后#34;文件管理器中的选项。要访问内部存储中的文件,您必须使用Android手机。所以,这是 NOT 我们认为的手机内部存储器 - Nexus 5的32 GB内存。

外部存储:

  

这可以是可移动存储介质(例如SD卡)或   内部(不可移动)存储

这意味着,我们在手机卡插槽中插入的Nexus 6P 64 GB内存和可移动microSD卡等存储类型都被视为外部存储。

可移动存储仅指microSD卡存储,而不是内存。

要将您的应用文件存储在SD卡中,您可以在File[] getExternalFilesDirs (String type)课程中使用Context方法。通常,第二个返回路径将是microSD卡的存储路径(如果有的话)。

注意:我已经编辑过 - 在@Tinaki的评论之后让我的答案更有用。

答案 3 :(得分:12)

来自Developer docs

  

所有Android设备都有两个文件存储区:"内部"和"外部"存储。这些名称来自Android的早期,大多数设备提供内置的非易失性存储器(内部存储),以及可移动存储介质,如micro SD卡(外部存储)。有些设备将永久存储空间划分为内部存储空间。和"外部"分区,所以即使没有可移动存储介质,总有两个存储空间,无论外部存储是否可移动,API行为都是相同的。

答案 4 :(得分:5)

我认为在操作系统中,它将外部存储定义为与实际OS文件结构无关的任何内容。如果您还记得,当您写入“内部存储”时,Android会为您的应用程序私下创建一个文件夹。所以基本上,如果这是某种类型的隐藏文件夹,则意味着外部存储可以被视为操作系统无法自动隐藏或管理的任何内容。因此,这将意味着手机制造商需要了解内部存储的定义,因为它们可能有1个主要内部闪存,内部有两个分区。一个分区用于保存操作系统,另一个分区用于存储手机上的所有内容。

基本上我所说的是:这更像是与硬件相关的东西,而且“外部存储”的概念甚至可以扩展到制造商添加的额外内部存储(闪存)。您甚至可以考虑存储选项由用户定义为外部存储器。

相关问题