Главная > Android > Перенос приложений на SD карту в ОС Android
Перенос приложений на SD карту в ОС Android20 октября 2011. Разместил: dimon |
Экскурс в философию приложений робота:
Каждое приложение в операционной системе 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, которая обычно занимает больше всего места. Вернуться назад |