2011-01-08 2 views
22

На separate thread Я продемонстрировал свое незнание типов памяти, спросив о наилучшем способе копирования файла во «внутреннюю память», и ему было сообщено, что это не очень хорошая идея и что это было бы лучше прочитать файл в «ОЗУ». Теперь я пытаюсь понять, как связаны эти два типа памяти и как их можно использовать.Типы памяти Android (RAM v Внутренняя память)

Я понимаю, что «внутренняя память воспринимается как вспышка, используемая для хранения APK, изображений ROM и т. Д.»

Спецификация моего HTC Hero говорит, что есть «ROM: 512 МБ, оперативная память: 288 МБ» без указания того, как ОЗУ подразделяется.

В телефоне на странице «Настройки» -> «SD & phone storage» просто говорится о «SD-карте» и «Внутренней памяти телефона», а для последнего просто отображается одна сумма для «Доступное пространство».

В справочнике Android для Data Storage упоминается «Внутреннее хранилище». Это место, где вы можете сохранять файлы. На странице также упоминаются файлы базы данных SQLite, которые, как я думаю, могут храниться в «Внутреннем хранилище». Тем не менее, страница, похоже, не дает объяснений о подразделении ОЗУ между внутренним хранилищем и другим (предположительно более динамичным) типом.

Есть ли какое-то динамическое разделение общей ОЗУ (288 МБ на Героя) на два подраздела, которые можно использовать по-разному? Если да, то где в документации на Android это объясняется?

ответ

40

Я понимаю, что «внутренняя память воспринимается как вспышка, используемая для хранения APK, изображений ROM и т. Д.».

Спецификация моего HTC Hero говорит, что есть «ROM: 512 МБ, оперативная память: 288 МБ» без указания того, как ОЗУ подразделяется.

ОЗУ не подразделяется на какие-либо постоянные основания. ОЗУ используется при запуске процессов по мере необходимости. Самое важное для приложений SDK - отметить, что есть верхняя граница относительно того, сколько ОЗУ может потреблять процесс - у вашего Героя это должно быть 16 МБ.

По телефону «Настройки» -> «SD & память телефона» страница просто ссылается на «SD-карта» и «Внутренняя память телефона» и последний раз показывает одну сумму за «Доступное пространство».

«Внутренняя память телефона» относится к части встроенного флеш-пространства, выделенной для файлов APK, баз данных, предпочтений и других локальных файлов.

На странице также упоминаются файлы базы данных SQLite, которые, как я думаю, могут храниться в «Внутреннем хранилище».

Исправить.

Однако, похоже, страница не содержит пояснений о подразделении ОЗУ между внутренним хранилищем и другим (предположительно более динамичным) типом.

ОЗУ не имеет ничего общего с внутренней памятью.

Есть ли какое-то динамическое разделение общей ОЗУ (288 МБ на Героя) на два подраздела, которые могут использоваться по-разному?

No.


Давайте пройдем шаг назад.

ОЗУ - ОЗУ - ОЗУ. ОЗУ на вашем телефоне существенно не отличается от ОЗУ на вашем рабочем столе, ноутбуке, нетбуке и т. Д. Эта конструкция оставалась относительно стабильной в ее использовании в течение последних нескольких десятилетий, особенно когда мы сбежали с мэйнфрейма. Запуск программ (ОС и приложений для конечных пользователей) потребляет ОЗУ, но только во время их работы. И ОЗУ вытирается при перезагрузке, на телефонах столько же, сколько на вашем рабочем столе.

Теперь ваш обычный рабочий стол, ноутбук или нетбук также имеет жесткий диск для более постоянного хранения, чем RAM. В Android нет абсолютного термина для эквивалента - я, как правило, использую для него «встроенное флэш-накопитель», другие называют его «внутренним хранилищем», хотя, как вы увидите, последний термин чреват путаницей. Так же, как жесткий диск, встроенная флэш-память используется для ОС (например, прошивки на Android), программ для конечных пользователей (например, APK-файлов в Android) и данных конечных пользователей (например, баз данных, общих настроек, и другие файлы, хранящиеся там, где находится getFilesDir()).

Бортовая флеш-память разделена на несколько разделов. Если вы пользователь Windows, разделы в основном говорят: «Ваш жесткий диск разбит на C :, E :, и F: диски». В Android один раздел предназначен для прошивки, а другой раздел («раздел данных») предназначен для программ и данных конечного пользователя. (ПРИМЕЧАНИЕ: предыдущее описание не совсем точно, но несоответствия выходят за рамки этого ответа).

Таким образом, со всем, что в виду:

  • Ваш 512Мб ROM является флэш-памяти на борту, прислушивается назад к старому «флэш-ПЗУ» термин
  • Ваш «Внутренняя память телефона» в устанавливает это пространство в разделе данных для приложений и данных конечных пользователей (одна из причин, почему я не использую этот термин для обозначения встроенного флэш-памяти в целом)
  • Ваша "SD-карта" более широко упоминается в Android как внешнее хранилище, которое на многих устройствах представляет собой некоторую форму SD-карты, хотя на самом деле это может быть просто еще один раздел бортовой флэш-память, обозначенная как обслуживающая роль внешнего хранилища
+1

Большое спасибо за этот быстрый и очень полезный ответ. Я думаю, что одна вещь, которая меня особенно смутила, заключалась в том, что я предположил, что ROM («только для чтения») не может быть записан. (Если это флеш-память, я должен сказать, что ПЗУ очень запутанный способ описать это!) Правильно ли я понимаю, что «SD & phone storage», указанное в настройках моего телефона, относится к части «ПЗУ» и что настройки страницы не содержат информации об ОЗУ? Является ли управление ОЗУ полностью доступным для операционной системы и полностью ли оно невидимо для пользователя и программиста? – prepbgg

+2

В статье в Википедии «Память только для чтения» говорится, что «более современные типы, такие как EPROM и flash EEPROM, могут быть стерты и повторно запрограммированы несколько раз, они по-прежнему описываются как« постоянная память »(ROM) [править] потому что процесс перепрограммирования обычно бывает нечастым, сравнительно медленным и часто не позволяет записи произвольного доступа в отдельные ячейки памяти ». Я понимаю, почему я предположил, что это будет * NOT * место хранения данных пользователя! – prepbgg

+1

@prepbgg: «Если это флэш-память, я должен сказать, что ПЗУ - очень запутанный способ описать это!» - нет такой вещи, как «flash RAM» AFAIK.«Правильно ли я понимаю, что« SD & phone storage », указанное в настройках моего телефона, относится к части« ПЗУ »и что страницы« Настройки »не содержат информации об ОЗУ?» -- верный. «Является ли управление ОЗУ полностью доступным для операционной системы и полностью ли оно невидимо для пользователя и программиста?» - вообще-то, да. – CommonsWare

Смежные вопросы