Андроид 2.3 очень порадовал тем, что теперь эффективность встроенного A2SD (возможность переноса приложений на флешку) возросла в разы. А изменилось не столь многое: если раньше переносился только *.apk-пакет, а данные оставались в основной памяти, то теперь вместе с пакетом переносится и часть данных, а именно, папка /lib, которая обычно занимает больше всего места. Подробности дальше.
Вкратце: Каждое приложение в операционной системе Андроид состоит из одного *.apk-файла, который является и установочным, и установленным. Но при установке происходят некоторые действия, увеличивающие занимаемое место, а именно: • apk-файл переименовывается в соответствии с классом (уникален), помещается в /data/app/ • создаётся папка данных, совпадающая с классом пакета, например /data/data/com.google.android.youtube с подкаталогами, предназначенными для различных данных: — lib — бинарные библиотеки приложения, *.so-файлы. — files — различные файлы приложения, возможен любой контент. — shared_prefs — xml-описание настроек. — cache — кэш, временные файлы. Может быть очищен системой при нехватке места в памяти. — databases — базы данных (sqlite), основное хранилище данных. • создаётся dalvik-кеш исполняемого файла (проще говоря, распаковывается dex-файл для более быстрого обращения) • если в приложении присутствуют бинарные библиотеки, они распаковываются в папку /lib для более быстрого обращения
|