Android内存类型(RAM v内存)

Android内存类型(RAM v内存),android,memory,storage,ram,Android,Memory,Storage,Ram,在一次会议上,我询问了将文件复制到“内存”中的最佳方法,以此证明我对内存类型的无知,并被告知这不是一个好主意,最好将文件读取到“RAM”中。我现在正试图了解这两种类型的记忆是如何联系在一起的,以及如何使用它们 我理解“内部存储器被认为是用于存储APK、ROM图像等的闪存。” 我的HTC Hero的规范中说有“ROM:512MB,RAM:288MB”,但没有说明RAM是如何细分的 在手机上,“设置”->“SD和电话存储”页面仅指“SD卡”和“内部电话存储”,后者仅显示“可用空间”的一个数量 And

在一次会议上,我询问了将文件复制到“内存”中的最佳方法,以此证明我对内存类型的无知,并被告知这不是一个好主意,最好将文件读取到“RAM”中。我现在正试图了解这两种类型的记忆是如何联系在一起的,以及如何使用它们

我理解“内部存储器被认为是用于存储APK、ROM图像等的闪存。”

我的HTC Hero的规范中说有“ROM:512MB,RAM:288MB”,但没有说明RAM是如何细分的

在手机上,“设置”->“SD和电话存储”页面仅指“SD卡”和“内部电话存储”,后者仅显示“可用空间”的一个数量

Android参考资料中提到了“内部存储”。这是一个“你可以保存文件”的地方。该页面还提到了SQLite数据库文件,我认为这些文件可以存储在“内部存储器”中。然而,该页面似乎没有解释内存在内部存储和另一种(可能是更动态的)类型之间的子划分

总RAM(英雄288MB)是否有某种动态划分为两个子划分,这两个子划分可以以不同的方式使用?如果是这样的话,在Android文档中的什么地方解释了这一点

我理解“内部存储器被认为是用于存储APK、ROM图像等的闪存。”

我的HTC Hero的规范中说有“ROM:512MB,RAM:288MB”,但没有说明RAM是如何细分的

RAM不会以任何形式永久“细分”。RAM用于根据需要运行进程。SDK应用程序需要注意的最大一点是,一个进程可以消耗多少RAM是有上限的——在你的Hero上,应该是16MB

在手机上,“设置”->“SD和电话存储”页面仅指“SD卡”和“内部电话存储”,后者仅显示“可用空间”的一个数量

“内部电话存储”是指为APK文件、数据库、首选项和其他本地文件留出的车载闪存空间部分

该页面还提到了SQLite数据库文件,我认为这些文件可以存储在“内部存储器”中

然而,该页面似乎没有解释内存在内部存储和另一种(可能是更动态的)类型之间的子划分

RAM与内部存储无关

总RAM(英雄288MB)是否有某种动态划分为两个子划分,这两个子划分可以以不同的方式使用

没有


让我们退一步

RAM就是RAM就是RAM。手机上的RAM与台式机、笔记本电脑、上网本等设备上的RAM差别不大。在过去几十年中,这种结构在使用中一直保持相对稳定,特别是在我们脱离大型机之后。运行程序(操作系统和最终用户应用程序)会消耗RAM,但只能在运行时使用。RAM在重新启动时被擦除,在手机上和在桌面上一样多

现在,您的普通台式机、笔记本电脑或上网本也有一个硬盘驱动器,可以提供比RAM更多的永久存储。在Android中,没有绝对的对应术语——我倾向于使用“板载闪存”,其他人称之为“内部存储”,尽管正如您将看到的,后一个术语充满了混乱。与硬盘驱动器一样,板载闪存存储用于操作系统(也称为Android固件)、最终用户程序(也称为Android中的APK文件)和最终用户数据(也称为数据库、共享首选项以及存储在
getFilesDir()
所在位置的其他文件)

板载闪存被划分为几个分区。如果您是Windows用户,分区基本上是说“您的硬盘驱动器分为C:、E:、F:驱动器”。在Android中,一个分区专用于固件,另一个分区(“数据分区”)专用于最终用户程序和数据。(注:上述描述并不完全准确,但差异远远超出了本答案的范围)

因此,考虑到所有这些:

  • 您的512MB ROM是板载闪存存储器,回溯到旧的“闪存ROM”术语
  • 您在设置中的“内部电话存储”将为最终用户应用程序和数据提供数据分区中的可用空间(我不使用此术语的原因之一是指车载闪存作为一个整体)
  • 您的“SD卡”在Android中更一般地被称为外部存储,在许多设备上是SD卡的某种形式,尽管它实际上可能只是车载闪存的另一个分区,被指定为充当外部存储的角色

非常感谢您快速、非常有用的回答。我想有一件事让我特别困惑,那就是我认为(“只读”)ROM是不可写的。(如果这是闪存,我必须说ROM是一种非常令人困惑的描述方式!)我是否正确理解手机设置中显示的“SD&phone storage”(SD&phone storage)指的是“ROM”的一部分,而设置页面没有提供有关RAM的信息?RAM的管理是否完全由操作系统完成,用户和程序员是否完全看不见?维基百科关于“只读存储器”的文章说“更现代的类型,如EPROM和flash EEPROM,可以多次擦除和重新编程;它们仍然被描述为“只读存储器”(ROM)[需要引用]因为重新编程过程通常不频繁,相对较慢,并且通常不允许对单个内存位置进行随机访问写入。“我明白为什么我认为这不是存储用户数据的地方@prepbgg:“如果这是flashram,我必须说ROM是一种非常令人困惑的描述方式!”——没有“flashra”这样的东西