62 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Где программа хранит свои данные после запуска

Во внешней или внутренней памяти компа ХРАНЯТСЯ программы и данные? спасибо!

Внешняя память – это память, предназначенная для длительного хранения программ и данных. Целостность содержимого ВЗУ не зависит от того, включен или выключен компьютер.
Внутренняя память –
Оперативная память (ОП) предназначена для временного хранения выполняемых программ и данных, обрабатываемых этими программами. Это энергозависимая память. Физически реализуется в модулях ОЗУ (оперативных запоминающих устройствах) различного типа. При выключении электропитания вся информация в оперативной памяти исчезает.

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

Кеш память – очень быстрая память малого объема служит для увеличения производительности компьютера, согласования работы устройств различной скорости.

Специальная – постоянная, Fiash, видеопамять и тд.

Постоянное запоминающее устройство (ПЗУ) – энергонезависимая память для хранения программ управления работой и тестирования устройств ПК. Важнейшая микросхема ПЗУ – модуль BIOS (Basic Input/Output System – базовая система ввода/вывода) , в котором хранятся программы автоматического тестирования устройств после включения компьютера и загрузки ОС в оперативную память. Это Неразрушимая память, которая не изменяется при выключении питания

Перепрограммируемая постоянная память (Flash Memory) – энергонезависимая память, допускающая многократную перезапись своего содержимого

CMOS RAM (Complementary Metal-Oxide Semiconductor) – память с невысоким быстродействием и минимальным энергопотреблением от батарейки. Используется для хранения информации о конфигурации и составе оборудования компьютера, о режимах его работы. Содержимое изменяется программой, находящейся в BIOS (Basic Input Output System).

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

Где хранятся файлы и программы? Программа проводник.

Одна из основных задач, с которой едва ли не ежеминутно сталкивается работающий за компьютером пользователь, — это знать где хранятся файлы и программы. Для этих целей в составе Windows предусмотрена специальная программа Проводник, которую можно запустить, выполнив последовательность команд Пуск ► Все программы ► Стандартные ► Проводник, или просто щелкнув правой клавишей мыши на кнопке Пуск и выбрав в появившемся контекстном меню пункт Проводник. Внешний вид этой программы показан на скриншоте.

Рабочее пространство программы Проводник разделено на два основных поля: в левом отображается вертикальная панель, открывающая доступ к древовидной структуре дисков, файлов и папок, в правом — содержимое выбранного диска или папки.

Чтобы просмотреть содержимое какой-либо папки или диска, достаточно щелкнуть на его изображении в левом поле — в правом появится список хранящихся в этой папке подпапок и файлов. Если, например, вы хотите перейти в папку Мои документы, просто щелкните на ее значке левой кнопкой мыши — содержимое этой папки тут же отобразится в основном окне Проводника. Щелчок на обозначении дисковода или жесткого диска, приведет вас в корневую папку выбранного диска.

Некоторые папки в окне программы Проводник отмечены символом « + » — это означает, что такая папка содержит вложенные папки. Щелчок на значке папки приводит к ее открытию: в левом окне вы сможете увидеть подпапки этой папки, а в правом — ее полное содержимое. Вы можете также перемещаться между различными объектами файловой системы, дважды щелкая мышью на обозначении этих объектов в правом окне.

Дополнительные возможности навигации по файловой системе предоставляют графические кнопки, расположенные в панели инструментов Проводника.

Кнопка Назад возвращает вас в папку, которая была открыта непосредственно перед текущей. По нажатию кнопки Вперед осуществляется обратный переход в папку, которую пользователь покинул, нажав на кнопку Назад.

Кнопка Вверх перемещает программу на один уровень вверх в файловой системе вашего компьютера.

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

Кнопка Вид позволяет изменить внешний вид отображающихся в основном рабочем окне Проводника значков, например сделать их более крупными или более мелкими.

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

Почему нельзя полностью удалить программу обычным способом

Наверняка вы слышали о программах для удаления программ, которые достаточно распространены среди продвинутых пользователей компьютеров под управлением Windows. Но далеко не все пользователи понимают разницу между ними и обычным удалением. Разработчики таких программ заявляют, что их продукт может полностью удалить программу вместе со всеми следами. Но разве стандартный инструмент Windows не может сделать это же? Почему вместо штатного способа удаления нужно прибегать к использованию каких-то сторонних программ? И насколько вообще это нужно рядовому пользователю?

Где программы хранят данные

Чтобы понять ситуацию, стоит рассмотреть типичную структуру данных программ. Наверняка вы знаете, что программные файлы в подавляющем большинстве случаях хранятся в папках Program Files и Program Files (x86). Именно туда программа установщик записывает все файлы, которые необходимы для запуска программ. Иногда программы устанавливаются в папку пользователя (это может быть нужно по ряду причин, например, для автоматического обновления программы в фоновом режиме без оповещения пользователя, как делает тот же Google Chrome).

А еще программы часто создают в папках AppData и LocalAppData хранилища для различных рабочих файлов, которые постоянно изменяются и пополняются. Результаты работы программ могут быть записаны в папку с личными документами пользователя (Документы, Изображения, Музыка и прочее). Также бывают случаи, когда сама система записывает данные программ в специальную папку внутри папки пользователя (папка Virtual Store).

Ну и конечно же системный реестр, который упоминается везде и всюду. Там программы хранят свои настройки. В реестре может быть 2-3 места, где программы размещают свои данные.

Как работает установщик/деинсталлятор

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

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

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

Читать еще:  Программа televizor на компьютер

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

Почему остаются «хвосты»

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

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

Каждый спихивает вину друг на друга, а в результате страдают обычные пользователи. Именно потому штатное удаление в подавляющем большинстве случаев не обеспечивает полного удаления программ, в результате чего приходится использовать деинсталляторы.

Нужны ли сторонние деинсталляторы вам?

Теперь осталось понять, насколько вообще целесообразно использовать деинсталляторы вам (если вы еще не решили). И чтобы ответить на этот вопрос, надо понять, как часто вы устанавливаете/удаляете программы, какое количество следов остается после удаления программ обычным способом, а также сколько места на диске всего и сколько свободно.

Если на вашем диске очень много свободного места и удаление лишних 2-10 гигабайт не сыграет никакой роли, то в принципе заморачиваться этим вопросом и не стоит. Но если у вас системный диск на 120 Гб и свободно места, что называется «впритык», то об этом стоит задуматься, потому что 2-10 гигабайт для 120 Гб диска уже достаточно внушительный объем.

Еще есть такой момент, как проблемное программное обеспечение. В случае возникновения проблем можно попытаться полностью удалить приложение и установить его заново, чтобы сбросить все настройки на «заводские». В этом случае деинсталлятор также может помочь.

Кстати, если вы ранее удаляли большое количество программ штатными средствами, то можете удалить все следы от удаленных программ разом. Подробнее об этом в статье «Как разом избавиться от остатков всех удаленных программ в Windows 7«.

Где программа хранит свои данные после запуска

Для решения подобных задач есть утилита RegMon, которую можно скачать на сайте www.sysinternals.com. Утилита бесплатна и не требует установки, размер дистрибутива мал.
Эта утилита в реальном времени показывает все обращения к реестру. При помощи фильтра можно отследить обращения к реестру только определенной программы. После сбора информации можно сделать экспорт собранных данных, например, в Access или Excel, где при помощи фильтров проанализировать их.
Рассмотрим на примере программы Paint, входящий в стандартный набор программ Windows, последовательность действий по определению раздела реестра, где программа хранит свои настройки.

  • Определите имя исполняемого файла программы, обращения которой в реестр нужно отследить. В нашем примере (программа Paint) это mspaint.exe. Имя исполняемого файла можно узнать, щелкнув правой кнопкой по ярлыку, который запускает программу и выбрав Свойства.
  • Запустите RegMon. Его внешний вид после запуска показан на рисунке 1.

Нажмите Crtl+L и в открывшемся окне, в поле Include наберите имя файла. Пример окна показан на рисунке 2.

Нажмите ОК, чтобы закрыть окно настройки фильтра. В меню Edit выберите пункт Clear Display. Окно RegMon будет очищено. Запустите Paint. Окно RegMon-а заполнится записями о местах его обращения к реестру. Пример показан на рисунке 3.

Это те ключи реестра, к которым обратился Paint при своем запуске.

Теперь закройте Paint. В окно RegMon будут записаны ключи реестра, к которым обратился Paint при закрытии, сохраняя свои настройки. Прокрутите окно RegMon и найдите наиболее часто встречающийся раздел реестра, к которому обращается Paint. Это HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionAppletsPaint. Именно в этом разделе он и хранит свои настройки. Двойной щелчок мыши по интересующей строке в окне RegMon откроет редактор реестра и сделает активным тот раздел, имя которого было кликнуто в RegMon.

На этом простом примере показана методика отслеживания обращений программ к реестру. Конечно, определение раздела, где хранятся настройки Paint очень легкая задача, но, следуя этой методике, можно достаточно быстро определить, куда программа записывает свои настройки и какие еще разделы реестра она «посещает» при работе.
Иногда объемы собранной информации составляют сотни килобайт, не смотря на то, что фильтрами RegMon-а отсекается много лишнего. В этом случае реальную помощь окажет Access, импортировав в который предварительно сохраненный лог-файл RegMon-а, можно сделать необходимые «выжимки».
Более подробное описание приемов работы с RegMon-ом опубликовано в виде отдельной статьи в разделе ОС и ПО.

Память Андроид: очистить кэш и данные приложений

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

В данной статье мы поговорим об одном из способов, позволяющих освободить место в памяти Андроид смартфона . Ниже речь пойдёт о том, что такое очистка кэша и что происходит при нажатии на кнопку Очистить данные у приложений в Android OS.

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

Накопитель заполнен на 75%. Перенести данные на SD-карту

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

О чём говорит это предупреждение? В данном случае система предупреждает, что на внутренней памяти устройства осталось меньше 25% свободного пространства. По большому счёту, это не критическая ошибка, доступная память ещё в наличии, но нужно иметь ввиду два момента:

  1. Свободное место на телефоне скоро может закончиться, чтобы этого не произошло в самый неподходящий момент, заранее позаботьтесь об освобождении занятого простарнства.
  2. Для комфортной работы с ОС желательно держать свободным некоторый объём памяти внутреннего накопителя. Это обеспечит поддержание уровня быстродействия и плавности в повседневном использовании.

В статье Память на Android. Все разделы памяти Андроид устройств мы подробно останавливались на разборе всех типов памяти Android OS. Там же приводилась следующая строчка:

Внутренняя память устройства (Internal phone storage) – та часть модуля памяти смартфона, которая не занята системными разделами и доступна пользователю для размещения приложений, медиа-контента и документов. Часть памяти, на которую устанавливается софт , определяется как раздел Data, а часть, занятая пользовательскими файлами – как User.
Зачастую реальной границы между этими областями нет, и тогда распределение памяти зависит только от нужд владельца устройства.

Если учесть это в рамках текущей публикации, то делаем вывод, что система может оповещать как о нехватке памяти на внутреннем накопителе в целом, так и конкретно о нехватке памяти в разделе Data . Разница в следующем:

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

Если с удалением медиафайлов и документов всё более или менее понятно, то вопрос оптимизации памяти, занимаемой приложениями, рассмотрим подробнее.

Из чего состоят приложения на Андроид

В первую очередь, стоит указать, что каждое Андроид приложение условно можно разделить на три части по типу используемых файлов:

  1. Программа. Это само приложение, apk-файл .
  2. Данные приложения. Это пользовательская информация, которая сохраняется в процессе всего периода жизни той или иной программы на смартфоне. Данные вносятся в программу пользователем или по его прямому запросу.
  3. Кэш приложения. Это временно хранимые файлы. Грубо говоря, это та же пользовательская информация, с той лишь разницей, что её утрата не влияет на работоспособность приложения. Программа способна заполнить кэш нужными данными самостоятельно в процессе работы.

Теперь определим, где хранится программа, её данные и кэш приложения на Андроид.
Если продолжить отсылку к упомянутой выше статье о памяти на Android и воспользоваться классификацией разделов из неё, то можно смело утверждать, что и сама программа, и данные пользовательских приложений, и их кэш хранятся в Энергонезависимой памяти -> в Перезаписываемом разделе EEPROM -> Internal phone storage (внутренний накопитель) -> Data (то есть, данные).
Мы в данном случае не рассматриваем системные приложения, так как они расположены в Прошиваемом разделе System, и, без наличия root-прав, недоступны для удаления.
То есть, из вышесказанного делаем вывод, что и программа, и её данные с кэшем занимают память в разделе Data , а это значит, что очистка любой из этих составляющих, освобождает пользовательское место и, собственно, частично решает проблему нехватки памяти на Андроид устройстве.
Взглянем на все составные части приложений Android детальнее.

Удаление приложения на Андроид

Сначала отметим, что сама программа в системе Андроид – это не только apk-файл . Кроме него могут быть задействованы дополнительные библиотеки и дополнительные технические* файлы программы.
Под техническими файлами мы понимаем те ресурсы, которые хранятся вне исполнительного файла , но служат для обеспечения выполнения приложением своей работы.
И исполнительный файл программы, и сопутствующие ему файлы чаще всего располагаются в следующем каталоге от корня файловой системы:

В папке app располагается каталог приложения, в корне которого находится сам apk-файл , и папка lib, в которую помещаются системные библиотеки, если таковые имеются. В зависимости от программы, рядом с apk-файлом могут быть и папки с другим названием.

Содержимое папки с программой в каталоге /data/app/ хранится там на протяжении всего времени работы от момента установки до момента деинсталляции приложения.

Очистить данные приложения Андроид

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

В частном случае это может быть немного иной путь, что, в частности, соответствует общему каталогу, отличаясь только отображением иерархии каталогов:

Этой папкой возможные места хранения данных приложения на Андроид не ограничиваются. Часто программа при установке создаёт свой каталог в корне карты памяти: либо внутренней, либо внешней. Именно в этих папках программа сохраняет информацию, которую:

  • вводит пользователь;
  • скачивает само приложение по запросу юзера.

Кроме вышеперечисленных путей есть ещё один каталог, о котором нужно упомянуть отдельно. Речь пойдёт о папке obb, которая расположена по пути:

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

Игровая индустрия развивается достаточно быстро. Вместе с этим растут и требования к аппаратной части, в том числе и к дисковому пространству. Всё это актуально и для Android OS. Серьёзные игры с красивой прорисовкой графики и серьёзным геймплеем требуют хранения большего объёма системной информации. Всё это привело к тому, что у многих игр появился ярко выраженный кэш. Но, как и в разных способах установки программ, есть несколько путей и в том, как поместить кэш игры в папку /Android/obb/:

  1. Если объём кэша не очень велик , то разработчик может заархивировать данные, поместить их непосредственно в apk-файл или просто привязать загрузку кэша к загрузке самой игры. При установке такой игры кэш самостоятельно распакуется в нужную папку. Эту возможность разработчики иногда используют как дополнительную защиту от взлома, так как в случае, если вы скачали игру не из магазина Google Play, а из альтернативного источника, игра при запуске не найдёт кэш и откажется запускаться.
  2. Если в apk-файле всех файлов игры не размещено, то, по умолчанию, кэш игры скачивается через интернет автоматически самим приложением при его первом запуске.
    Нужно отметить ещё одну причину, по которой кэш игр не очень удобно упаковывать изначально в apk-файл. Дело в том, что, зачастую, кэш для разных телефонов будет отличаться в зависимости от разрешения экрана, типа видеочипа и процессора, а иногда и от модели смартфона. А если скачивать кэш при первом запуске игры, то не придётся передавать на смартфон пользователя те данные, которые не подходят для его устройства.
  3. Всё*, что скачивается конкретным приложением, можно скачать вручную. То есть, кэш игры можно качать не через саму игру, а отдельно . Это возможно в том случае, если кто-нибудь скачает подходящий вам кэш (по разрешению экрана, типу видеоускорителя и так далее) и выложит его в сеть. Тогда нам останется скачать архив с кэшем и поместить его в нужный каталог: obb или data, в зависимости от игры (в частных случаях путь хранения кэша может отличаться и указывается дополнительно).

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

Теперь кому-то может показаться странным, почему информацию о папке с кэшем мы поместили в главу о данных Android, а не о самом кэше. И вот в чём дело. По сути, кэш игры так называют потому, что он скачивается ею при установке. Эти данные являются кэшем только для самого приложения и с точки зрения пользователя. Для операционной системы Андроид файлы кэша игры являются данными приложения и при очистке кэша не затираются (ниже повторим об этом). А когда же затираются?

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

Очистить кэш приложения Андроид

Для начала определим, что такое кэш приложения :

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

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

Читать еще:  Автозагрузка программ в Windows 10 где находится

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

Давайте рассмотрим пример, который объясняет смысл понятий программа, данные приложения и кэш приложения простыми словами.

Предположим у нас, как у пользователя , в офисе сидит секретарша офис-менеджер Татьяна. Татьяна – это, в нашем случае, приложение . На рабочем столе Татьяны стоит компьютер, которым офис-менеджер постоянно пользуется – это данные приложения . Кроме компьютера на рабочем столе всегда находятся ручка, блокнот, степлер, дырокол и калькулятор – это кэш нашего приложения .

В какой-то момент времени мы переезжаем в другой офис (прошивка или смена устройства), он больше и просторнее, но в нём пока нет ничего. В первую очередь, приходит офис-менеджер (установка программы). Однако, она пока не может работать, у неё нет данных, поэтому мы устанавливаем ей компьютер (подгрузка данных приложения). Работа закипела. Но пока стол пуст (кэш очищен), скорость работы офис-менеджера ниже прежней: каждый раз, чтобы скрепить документы или посчитать большие суммы, ей приходится отвлекаться на поиски нужных инструментов. Поэтому, постепенно на столе у Татьяны вновь появляется степлер и кулькулятор (заполнение кэша). А вот блокнот, оказывается, нужен не так часто, поэтому он может лежать в выдвижном шкафу, а на освободившееся на столе место мы поместим календарь, обращение к которому происходит чаще. Благодаря этому Татьяна теперь справляется со своими задачами ещё быстрее.

Это грубый пример того, как очистка кэша благотворно влияет на работу приложения .

Кэш приложения также может размещать по разным папкам. Чаще всего это одноимённый каталог cache, который расположен, например, в папке приложения из /Android/data/

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

Соответственно, отвечая на вопрос: “Удалится ли кэш игры при очистке кэша приложения?” – можно сказать, что нет, содержимое папки /Android/obb/ в общих случаях не затрагивается, если иное не предусмотрено разработчиком системы или приложения.

Где приложения хранят свои данные

Андрей Подкин

При использовании приложений под Android иногда появляются вопросы: «А где приложение хранит созданные файлы?», «Можно ли до них достучаться?» и «Удалятся ли файлы при удалении приложения?» Давайте попробуем посмотреть, где же приложение может хранить свои данные и какие последствия это имеет для пользователя.

Внутреннее хранилище данных

Смысл следует непосредственно из названия. Внутреннее хранилище (internal storage) располагается всегда в памяти смартфона вне зависимости от того, есть ли возможность установки карты памяти (и тем более того, вставлена ли она). Эта область памяти является защищенной. Находится в системном разделе /data. По умолчанию все файлы, которые там располагаются, доступны только тому приложению, которое их создало. Разумеется, можно сделать файлы доступными для других приложений, но это надо делать специально. Если приложение не открывает файлы для доступа извне, достучаться к ним можно будет только получив root.

Назначение хранилища понятно: внутренние защищенные данные, к которым не должно быть нерегламентированного доступа. Проблемы (с точки зрения пользователя) могут быть в следующих случаях:

  • Неоправданно большой объем данных. Хочется вынести данные на карту памяти, чтобы сэкономить внутреннее пространство для других нужд, а приложение не дает.
  • По мнению пользователя, регламент доступа к данным должен быть другим, не таким, как предлагает приложение.

Пример: приложение «Лекции по истории России». В приложении хороший контент (и по содержанию, и по качеству звука). Но сохраняется он во внутреннюю память. На бюджетных устройствах, где этой памяти мало, становится затруднительным закачать заранее много лекций, а потом, отключившись от интернета, слушать их. Второй проблемой становится собственно регламент доступа к данным. Даже если ограничиться тематикой истории, у меня есть аудиофайлы, полученные из трех источников: данное приложение, подкасты и аудиоверсии роликов с youtube. Хочется взять и объединить навек в их земной юдоли под владычеством всесильным Властелина Мордора их все в единый плейлист, и слушать его одним аудиоплеером. Но на смартфоне без root это сделать невозможно.

Внешнее хранилище «личных» данных

С точки зрения разработчика, кроме внутреннего хранилища данных, для персональных целей приложения есть еще внешнее хранилище. Оно необязательно размещается на карте памяти. Это может быть и внутренняя память смартфона, но весь раздел с такими данными размещается в общем доступе. В корне раздела есть папка Android/data, а в ней — подпапки с именами пакетов приложений.

Плюсы такого подхода очевидны: данные доступны извне для целей пользователя. А если это карта памяти, то и емкость может быть ограничена только вашими финансами (в продаже уже можно найти карты памяти на 400 гигабайт). Минусы тоже понятны: в любой момент любое приложение (конечно, имеющее разрешение на доступ к «внешним» данным) может взять и стереть чужие файлы. Также файлы будут удалены системой при удалении приложения (или при очистке его данных).

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

Общее внешнее хранилище

Располагается в корне «внешнего» раздела на одном уровне с папкой «Android». Предназначается для хранения данных, разделяемых между разными приложениями. Обычно в документации Google в качестве примера приводят картинки (фото с камеры — папка DCIM). Основная проблема данных файлов: они никогда не удаляются автоматически. Даже если приложение вы удалили.

Пример: мессенджер Telegram. После того, как вы удалили приложение, загруженные файлы никуда не исчезают. Они продолжают спокойно лежать на накопителе данных, занимая драгоценное место.

Как можно удалить файлы, не удаляя приложения

Здесь важно ввести еще одну классификацию файлов приложений. Она справедлива для внутреннего хранилища и для внешнего хранилища личных данных. Все данные делятся на два типа: собственно данные и кэш.

Данные (папка data) — некие файлы, которые, по логике Google, нужны для постоянной работы с ними. Если полностью их удалить, то приложение поведет себя точно так же, как если бы его переустановили (удалили и заново установили). Частичное удаление файлов может не привести ни к каким неприятным последствиям. Но важно понимать, какие конкретно данные вы удаляете (например, очевидно, что скачанные файлы подкастов можно удалять совершенно свободно — это не повлияет на работоспособность подкаст-менеджера).

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

Очистка памяти и кэша вызывается из настроек приложения. Кнопка «Очистить кэш» очищает только кэш, а кнопка «Очистить данные» — и кэш, и данные приложения.

Удаление файлов приложения из общего внешнего хранилища выполняется только вручную. Более того, даже оценка того, от какого приложения эти файлы остались, тоже выполняется вручную.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: