Каждое приложение в операционной системе Android состоит из одного *.apk-файла, который является с одной стороны установочным, а с другой и установленным.
При установке происходят некоторые действия, которые приводят к увеличению занимаемого приложением и такого драгоценного место во внутренней памяти устройства, а именно:
• apk-файл переименовывается в соответствии с классом и помещается в /data/app/
• создаётся папка данных, совпадающая с классом пакета, например /data/data/com.google.android.youtube с подкаталогами, предназначенными для различных данных:
lib – бинарные библиотеки приложения, *.so-файлы. files – различные файлы приложения, возможен любой контент. shared_prefs – xml-описание настроек. cache – кэш, временные файлы, который может быть очищен системой при нехватке места в памяти. databases – базы данных (sqlite), основное хранилище данных.
• создаётся dalvik-кеш исполняемого файла - распаковывается dex-файл для более быстрого обращения
• если в приложении присутствуют бинарные библиотеки, они распаковываются в папку /lib для более быстрого обращения
so-файлы пишутся на С/С++ и поэтому обладают с одной (положительной) стороны максимальной производительностью, а с другой (отрицательной) – большим размером.
Из-за ограниченности основной памяти устройств для хранения большого количества приложений в системе сторонние разработчики придумали модуль A2SD, который автоматически переносит все пользовательские программы (/data/app/*.apk) и весь dalvik-cache на SD карту, в заранее подготовленный дополнительный раздел на карточке в формате ext2/3/4.
Начиная с версии 2.2, операционная система Android приобрела возможность устанавливать приложения не в память устройства, а на карту памяти в раздел подготовленный определенным образом.
Для увеличения количества устанавливаемых приложений используются:
• A2SD -перенос данных приложений на карту памяти в ext раздел; • A2SD+ в дополнение к A2SD переносит туда же dalvik-cache; • A2SD++ следующее расширение, позволяющее использовать файловую систему ext4 вместо ext3. (однако, при использовании ext4 генерируется больше циклов записи чем при использовании ext3, что быстрее приведет карту памяти к выходу из строя).
Подробно описывать, как на карте памяти сделать раздел с файловой системой ext3/ ext4 я наверное не буду. Для этого подойдет - Acronis Disk Director, Partition Magic или любая другая утилита для работы с разделами на жестких дисках.
Единственный нюанс на который стоит обратить внимание – подготавливаемый нами раздел должен быть Primary иначе A2SD работать не будет. Теперь после установки карты памяти в телефон или планшетник можно перенести часть приложений на SD карту с помощью Настройки – Приложения – Управление приложениями там выбираем приложение и щелкаем по кнопке Переместить на SD карту
Следующее поколение ОС - Андроид 2.3 порадовал своих поклонников еще большей эффективностью встроенного A2SD. Хотя изменения и не были кардинальными, но они позволили вместе с apk-пакетом перенести и часть данных приложения – тех которые хранятся в папке /lib, которая обычно занимает больше всего места.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Чтобы Вам были доступны все функции Вам необходимо либо зарегистрироваться, либо зайти на сайт под своим именем.