Android как система работает с памятью

Системная память android

Эта статья посвящена устройству системной памяти android, проблемам, которые могут возникать из-за ее нехватки и способам их решения. Я сам не так давно столкнулся с тем, что мой телефон на базе android стал регулярно выдавать сообщения о нехватке памяти при попытке установить то или иное приложение. Что было для меня очень странно при том, что по описанию на маркете там должно было иметься около 16GB, да еще и я увеличил этот объем при помощи дополнительной карты памяти. Однако проблема имелась, и пришлось основательно повозиться, прежде чем я нашел правильное решение, не требующее получения root-доступа или полного восстановления телефона к заводскому состояние.

Но прежде чем я опишу решение, мне бы хотелось рассказать про типы памяти на android.

Android — типы памяти

Надо понимать, что ваш android телефон — это такой компьютер в миниатюре. Поэтому и память в нем бывает разной:

  • Оперативная память (ОЗУ): то временное пространство, которое используют программы, когда они работают. Бывает, что что-нибудь не работает именно из-за нехватки оперативной памяти в данный момент, но такая проблема уж точно решается перезагрузкой вашего телефона. Или есть более простой способ — подержите клавишу home, и из появившегося меню выберите «диспетчер задач». На вкладке «Активные» можно закрыть активные приложения, а на вкладке «ОЗУ» — вообще почистить память от лишнего. Есть также программы, которые специально занимаются тем, что подчищают вашу оперативную память, но я не вижу в них большой необходимости — обычно «оперативки» бывает достаточно;
  • Встроенная память: объем, написанный в характеристиках вашего телефона. Например, у меня 16GB. Однако, эта память не едина, а разбита на разделы. В частности, около полутора гигабайт занимает системный раздел, на котором расположена операционная система. У пользователя вообще отсутствует доступ к этой части.
  • USB-накопитель: наибольшая часть встроенной памяти, в моем случае — около 11.5GB. Используется для данных большинства программ, видео, фотографий, музыки и многого другого;
  • Дополнительная SD-карта: зачастую если вам не хватает памяти на USB-накопителе, вы можете вставить дополнительную SD-карту и использовать ее в аналогичных целях;
  • Память приложений: а вот это самый интересный раздел, технически расположенный во встроенной памяти и ограниченный даже в современных телефонах объемом в 2GB. Особенностью этого раздела является то, что приложения устанавливаются исключительно в этот раздел (хоть и имеется возможность перенести потом часть из них на SD-карту). Однако, он используется не только для приложений и именно из-за этого зачастую пользователи и сталкиваются с нехваткой системной памяти на Android.

Примечание: в некоторых моделях телефонов память приложений и USB-накопитель объединены в единое целое, и это несколько облегчает ситуацию.

В настройках в диспетчере приложений у части из них имеется выбор — перенести приложение на карту SD и обратно. К сожалению, даже те приложения, которые позволяют себя переносить, делают это не полностью. Для понимания приведу расшифровку сводки объема приложения:

  1. Приложение: основные файлы программы, хранящиеся в памяти приложений;
  2. Приложение в памяти: основные файлы программы, хранящиеся на SD карте;
  3. Данные: данные программы, хранящиеся в памяти приложений;
  4. Карта памяти SD: данные программы, хранящиеся на SD-карте;
  5. Кэш (немного ниже): временные данные программы, хранящиеся на USB-накопителе.

Команда «очистить данные» удаляет пункты 3 и 4, однако это может привести к тому, что вы потеряете все настройки программы. Удаление кэша теоретически не должно ничего портить, но через некоторое время он восстановится обратно. Кнопка переноса на карту данных носит из пункта 1 в 3 и из 2 в 4 или обратно, но переносит лишь часть этих данных. Практически все приложения при нажатии кнопки «перенести в память устройства» полностью освободят карту SD, но некоторые большие данные (например, словари переводчика) могут там остаться.

Очистка кэша удаляет пункт 5.

Кстати, обратите внимание, что приложение может хранить данные не только в указанных здесь «данных». Например, Яндекс.Карты предлагают выбор папки для сохранения данных, и скачанные таким образом оффлайн-карты не учитываются в подсчете того объема, что указан в свойствах приложения.

Android — недостаточно памяти

Если на вашем android-телефоне недостаточно памяти, но могут происходить разные неприятные явления. Вы не сможете фотографировать, не сможете устанавливать или обновлять приложения, часть системных функций может отрубиться. В интернете есть множество советов на тему того, как освободить место, но, в основном, копируются с одного сайта на другой самые базовые советы, а они могут помочь лишь частично. Кроме того, многие способы требуют root-прав на ваш телефон, но мы попробуем обойтись без этого.

Читайте также:  Гонки по вай фай для андроид

Для начала сделайте вот что. Установите из play.market программу disk usage. Откройте ее и изучите разделы. Надо понять, где именно недостаточно памяти. Просто советы, допустим, освобождающие место на «USB-накопитель» не помогут, если у вас не хватает памяти во встроенной памяти (если они не объединены в вашей модели телефона). Итак, в зависимости от того, что заканчивается, могут помочь или не помочь следующие рекомендации:

  • Если вам так повезло, и заканчивается место на внешней SD-карте, то это самый простой случай. Вам потребуется карта большего объема, на которую надо будет переписать старые данные.
  • Частая проблема с местом во встроенной памяти (не устанавливаются приложения). Частично поможет стандартный совет по переносу некоторых приложений на SD-карту, однако он не спасает ситуацию полностью. Дело в том, что если вы изучите упомянутым выше приложением этот раздел, то увидите часть с названием «system data». И объем этого куска растет со временем и может зашкаливать — в моем случае он превысил гигабайт. В нем, как выясняется, хранятся «дампы» — описания состояния телефона в те моменты, когда он зависает. К счастью, имеется возможность очистить эти дампы. Для этого наберите на телефоне *#9900#, после чего в возникшем меню выберите «Delete dumpstate/logcat».
  • Если же у вас забивается внутренний SD-раздел, то опять-таки вам может помочь стандартный совет по удалению кэша приложений (руками или же через специальные утилиты). Однако, следует изучить его при помощи disk usage поподробней. Имеются еще некоторые «мусорные директории», которые можно смело удалять, но при этом они постоянно увеличиваются в размере. Не то, чтобы вам нужно было за ними постоянно следить — думаю, вы просто можете их подчищать, когда заканчивается место. Например, у меня после года работы телефона таким образом забилось несколько гигабайт. Итак, что же это за директории? Во-первых, DCIM/thumbnails. Если в самой папке DCIM еще могут храниться ваши фотографии, то в DCIM/thumbnails располагаются мини-версии этих изображений, и со временем они только накапливаются. Удалять их не страшно, так как необходимые система быстро пересоздаст сама. Да, удалять можно через ту же самую программу disk usage или через любой иной файловый менеджер. А во-вторых, очень разрастаться может папка под названием log (с файлами типа logcat_cp_boot_radio). Ее тоже можно удалить, только не забудьте потом создать пустую папку с таким названием.

Вот такие простые советы могут помочь серьезно подчистить память вашего телефона и решить проблему с тем, что программы не устанавливаются. Если же вы знаете какие-либо еще ненужные объемные папки на памяти вашего телефона, пишите, и я добавлю эту информацию в статью.

Источник

Память на Android. Все разделы памяти Андроид устройств

Многим пользователям, впервые получившим во владение устройство на Android OS, бывает трудно разобраться во всех тонкостях этой системы . Более того, не все опытные юзеры могут похвастаться, что досконально изучили платформу, на которой базируется больше 86%* всех продаваемых мобильных устройств в мире.

*по данным на декабрь 2016 года

А так как одним из важных и популярных вопросов для рядовых пользователей продуктов IT-индустрии был и остаётся вопрос памяти устройства, то данная тема не обошла стороной и операционную систему от компании G o o g l e .
Ниже мы разберём эту тему и ответим на вопрос, какие бывают виды памяти в системе Android OS.

Содержание статьи:

Группировка типов памяти устройств

Сперва рассмотрим, какие виды памяти существуют в принципе. Данная группировка не зависит от используемой на устройстве операционной системы, будь то Android , Windows , MacOS , iOS , Linux или другие, менее распространённые платформы.

Все запоминающие устройства в электронике можно разделить на две основные группы:

  • Энергозависимая память. RAM
  • Энергонезависимая память. ROM

С энергонезависимой памятью понятно, мы обозначили её как RAM (Random Access Memory — Запоминающее устройство с произвольной выборкой).
А вот обозвать всю энергонезависимую память как ROM — это грубое допущение, так как ROMRead-Only Memory, то есть допускает лишь чтение, но в группу энергонезависимой памяти входят и устройства, позволяющие пользователя перезаписывать данные. Однако, мы позволим себе это обобщение, а позже вскользь отметим особенности различных групп ROM-памяти.

Читайте также:  Хоррор визуальные новеллы андроид

Если из типа энергозависимой памяти в Андроид устройствах можно выделить только оперативную память , то энергонезависимая память, в свою очередь, разбивается на различные разделы: системный раздел (который сам ещё делится на разделы), внутренняя память устройства (Internal storage), флеш-память (карта памяти). Об этом мы и поговорим ниже.
А пока приведём таблицу, отображающую, к какой группе относится каждый из типов памяти, встречающийся на современных Андроид смартфонах, с приведением наиболее часто используемых обозначений.

Типы памяти в системе Android

Энергозависимая
память.
RAM
Оперативная память. ОЗУ
Энергонезависимая
память.
ROM
Прошиваемый
раздел.
PROM
Bootloader
Recovery
Boot
System
Перезаписываемый
раздел.
EEPROM
Internal
phone
storage
Data
User
SD-карта

В конце статьи мы приведём ещё одну таблицу, в которой весьма условно попробуем сопоставить рассмотренные разделы системы Андроид и разделы/каталоги Windows OS.

Энергозависимая память. RAM

Что же такое энергозависимая память, и почему она так называется?

Это определение достаточно грубое, но прекрасно отражает принцип работы устройства.

В процессе работы системы в энергозависимую память загружаются необходимые данные. Информация хранится и изменятся в соответствующем модуле ровно до тех пор, пока на него подаётся питание (электричество).
Как только подача энергии прекращается , вся информация из энергозависимой памяти утрачивается . Собственно, поэтому данный тип памяти называется энергозависимой .

В качестве лучшего примера, понятного для большинства читателей, можно привести Оперативную память.

Оперативная память

С данным понятием знакомы многие, для тех же, кто не совсем понимает, о чём пойдёт речь ниже, дадим общее определение этому термину.

Оперативная память часто может обозначаться следующими аббревиатурами:

  • RAMRandom Access Memory , что в переводе с английского языка означает » память с произвольным доступом «;
  • ОЗУ — что расшифровывается как » оперативное запоминающее устройство «.

В процессе работы системы в оперативную память подгружаются данные и код , к которым в настоящий момент происходит обращение процессора. Эта информация хранится и изменяется в соответствующем модуле ровно до тех пор, пока на него подаётся питание (электричество). Как только подача энергии прекращается , вся информация из оперативной памяти утрачивается .

Узнать размер оперативной памяти аппарата и объём свободной памяти можно не только при помощи сторонних программ, отображающих подобную информацию, но и стандартными средствами. Например, на некоторых устройствах искомые цифры можно увидеть, открыв меню Приложения в настройках телефона и перейдя на вкладку Запущенные

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

В системе Андроид размер оперативной памяти играет важную роль . Кроме того, что некоторые программы сами по себе достаточно требовательны к железу устройства, важность размера и производительности RAM раздела усугубляется наличием многозадачности в Android OS.

Андроид система самостоятельно управляет оперативной памятью устройства. В ОЗУ постоянно держатся запущенными нужные в данный момент системе и пользователю программы и службы. При запуске новых приложений софт, имеющий наименьший приоритет по отношению к другим программам, будет выгружен из оперативной памяти .

Однако, если пользователя не устраивает то, каким образом система распоряжается имеющимся объёмом раздела RAM, он может самостоятельно влиять на список программ, находящихся в памяти .
Управлять запущенными приложениями и службами , выгружать их, автоматически завершать или полностью запрещать запуск можно с помощью многочисленных программ Таск киллеров (Task killer) и менеджеров автозагрузки.

Энергонезависимая память. ROM

Этот тип памяти используется в разных целях: хранение файлов прошивки (операционной системы устройства), размещение разделов восстановления , размещение системных разделов , запись и хранение пользовательских данных и так далее.

В ходе использования энергонезависимой памяти системой и пользователем на устройство записывается любая информация , соответствующая разделу памяти, которая может считываться оттуда при необходимости. При отключении оборудования и прекращении подачи питания на устройство информация с него не пропадает , после повторного запуска системы все данные вновь будут доступны . То есть данный тип памяти не зависит от наличия питания и потому зовётся энергонезависимым .

Простые примеры энергонезависимых устройств хранения информации: жесткий диск (HDD), твёрдотельные накопители (SSD), флеш-память (SD).

Прошиваемый раздел в Android. PROM

Аббревиатура PROM расшифровывается как Programmable Read-Only Memory, что в переводе с английского означает «Программируемая память только для чтения«, говоря более грамотным языком — Программируемое постоянное запоминающее устройство, сокращённо ППЗУ. Отсюда можно вывести определение:

Читайте также:  Как создать гугл аккаунт для андроид через компьютер

Рассмотрим основные разделы операционной системы Андроид , относящиеся к PROM, в порядке обращения к ним:

  1. Bootloader (HBOOT) — загрузчик операционной системы. Это сектор памяти, который первым реагирует на включение аппарата. Пользователю интересен тем, что анализирует, нажаты ли в момент включения дополнительные кнопки, и определяет, в каком режиме необходимо запускать устройство . Используется для прошивки смартфона.
  2. Recovery — раздел, содержащий системное программное обеспечение, предназначенное для диагностики аппарата, восстановления системы и создания её резервных копий.
    Современные кастомные рекавери (custom recovery) имеют более широкий функционал, позволяют устанавливать сторонние прошивки , имеют встроенный менеджер файлов и так далее.
  3. Boot — раздел памяти в системе Android, содержащий ядро ОС , драйвера и файлы, необходимые для управления устройство на низком уровне (команды процессора и памяти). Возможна перезапись этого раздела без замены основной прошивки.
  4. System — системный раздел, содержащий файлы прошивки , стандартных программ и библиотеки операционной системы. Содержимое раздела System возможно изменять при наличии у пользователя прав суперпользователя root. К примеру, отредактировав должным образом файл hosts, находящийся по пути /system/etc/hosts , можно избавить от рекламы на телефоне Андроид (подробнее об этом в соответствующей статье: Убираем рекламу на Android. Файл hosts)

Все четыре раздела памяти Андроид, описанные выше, являются системными и условно нередактируемыми.
С этим связана ещё одна особенность данных разделов: если вы делаете возврат к стандартным настройкам аппарата ( полный сброс ) из меню устройства или Wipe data/factory reset из Recoery, то вышеперечисленные разделы форматированию НЕ ПОДВЕРГАЮТСЯ.
Если в одной из этих областей произошёл сбой или возникли какие-то другие проблемы, то для их исправления необходимо будет прошивать устройство полностью или соответствующую часть памяти.

Теперь рассмотрим ту часть памяти, которая может изменяться пользователем самостоятельно и без root прав .

Перезаписываемый раздел в Android. EEPROM

EEPROM расшифровывается как Electrically Erasable Programmable Read-Only Memory, что с английского переводится следующим образом: Электрически стираемое перепрограммируемое постоянное запоминающее устройство.
По сути это означает, что устройство способно хранить записанные на него данные, но позволяет многократно редактировать информацию без наличия особых прав (прав суперпользователя).

Сама технология EEPROM на сегодняшний день является устаревшей и не применяется в производстве современных модулей памяти , но название по привычке используется для обозначения устройств хранения информации небольшой ёмкости .

К перезаписываем разделам системы относится как внутренняя память Андроид, доступная пользователю, так и карта памяти на Андроид, если таковая имеется.

  1. Внутренняя память устройства (Internal phone storage) — та часть модуля памяти смартфона, которая не занята системными разделами и доступна пользователю для размещения приложений, медиа-контента и документов. Часть памяти, на которую устанавливается софт , определяется как раздел Data, а часть, занятая пользовательскими файлами — как User.
    Зачастую реальной границы между этими областями нет, и тогда распределение памяти зависит только от нужд владельца устройства.
  2. SD-карта (SDHC) — флеш-память, доступная пользователю в полном объёме. Всё пространство флешки может использоваться для хранения личных файлов. Кроме того, может быть произведена как установка приложений на карту памяти Андроид, так и перенос программ и игр Андроид на карту памяти (если данная возможность реализована в установленной версии операционной системы). SDHC-память может быть не только внешней, но и внутренней, распаяной на плате аппарата. В статье Разрешение на запись в корень sd-карты на Android 4.4+рассмотрен способ обхода ограничения, введённого Google, для новых версий своей системы.

Internal phone storage и SD-карта напрямую не оказывают влияние на работу системы Андроид, однако,в случае неполадок и неисправностей, могут вызывать существенные сбои в работе всей ОС.

Теперь, как и обещали в начале записи, сопоставим память Андроид ОС и память системы Windows . Сопоставление приводим лишь для ознакомления, на самом деле, конечно, данные приведены с грубыми допущениями.

Типы памяти в системе Android

Android OS OS Windows
Оперативная память. ОЗУ Оперативная память. ОЗУ
Bootloader Раздел «Зарезервированно системой»
Recovery Разделы восстановления ноутбуков
Boot C:\Windows\System32\ntoskrnl.exe
System Системный каталог. Диск C:\
Data Каталог C:\Program Files\
User C:\Users\Имя_пользователя
SD-карта Дополнительные HDD/SSD/USB

Мы поговорили о том, какие бывают разделы памяти в Андроид ОС. Рассмотрели основные типы памяти Android.
Всем производительной памяти и объёмных накопителей.

Источник

Оцените статью