Переместить на SD-карту не все перемещается

Я заметил, что когда я перемещаю приложения на SD-карту, перемещаются не все. Это ошибка, известное поведение или что-то странное происходит с моим телефоном?

Вот пример:

  • Начальная точка: Свободное место на телефоне: 18 МБ
  • Установите приложение Skype: Свободное место на телефоне: 3 МБ, Skype, по-видимому, использует 15 МБ для приложения.
  • Переместите Skype на SD-карту: Свободное место на телефоне: 8 МБ, Skype теперь, по-видимому, использует только 5 МБ для приложения.

Похоже, что произошло то, что он переместил только часть приложения, а не все. Для меня это настоящая боль, так как у меня есть HTC Desire, у которого не так много внутренней памяти (я живу на балансе предупреждения о нехватке памяти). Он запускает официальную установку HTC Gingerbread...

Только что понял, что на самом деле я не задавал здесь вопрос, но я думаю, что это подразумевается! Но должно быть: «Могу ли я что-нибудь с этим поделать?» :)

Ответы (3)

Действительно, встроенная в Android функция «Переместить на SD-карту» не перемещает все приложение на карту. Такие вещи, как данные приложения, кэш и dalvik-cache (оптимизированный байт-код), остаются во внутренней памяти устройства. Вы можете попытаться смягчить это, регулярно очищая кеш приложений, которые вы используете чаще всего (например, Браузера и т. д.), переходя к Menu -> Settings -> Applications -> Manage applications -> All, затем выбирая приложение и нажимая Clear cacheкнопку. Однако вы лишь отсрочите неизбежное.

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

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

Существуют также альтернативные решения «Приложения на SD», которые могут перемещать все несистемные приложения на SD-карту на телефоне с root-доступом. Например, приложение S2E творит чудеса с CM ROM, и его очень легко установить и использовать. Скрипт DarkTremor A2SD намного сложнее настроить и настроить, но он работает на разных пользовательских ПЗУ.

Я так долго ждал официального релиза Gingerbread от HTC, и теперь, похоже, мне лучше всего рутировать свой телефон. Теперь мне приходится очищать данные в одном или двух приложениях один или два раза в день, чтобы попытаться сохранить свободное место! Как только на нем закончится место, он больше не будет загружать электронные письма Gmail, что очень раздражает, поскольку это мой основной источник электронной почты!

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

Например, игра не должна зависеть от каких-либо встроенных системных файлов и должна иметь возможность полностью загружаться на SD-карту (по моему опыту, они все есть). С другой стороны, такое приложение, как Skype, зависит от нескольких системных функций (и если бы оно должно было полностью запускаться с SD-карты, я не уверен, насколько хорошо оно бы работало).

У меня такая же ситуация, у EVO только ~420 МБ для работы, а мне нравятся приложения ;) так что я постоянно на балансе. Я начал удалять вещи, которыми не пользовался неделю или две.

Извините, я думаю, что вы на неправильном пути здесь. Тема - память хранения, а не рабочая память. Эти приложения занимают место в памяти, хотя на самом деле они не работают, поэтому большинство ваших замечаний просто неуместны и/или неверны.
я не говорю о оперативной памяти
Тогда я не понимаю, что вы подразумеваете под «более быстрым доступом к ним» и «зависит от нескольких системных функций» и как это относится к памяти хранения.

Решение состоит в том, чтобы связать папку dalvik-cache (/data/dalvik-cache) с ее копией в разделе ext на SD-карте (/sd-ext) после удаления исходной папки dalvik-cache. Команда в окне эмулятора терминала должна выглядеть примерно так: «ln -s /sd-ext/pseudo-dalvik-cache /data/dalvik-cache», где псевдо-dalvik-cache — это просто переименованная копия оригинального dalvik-cache. Конечно, вам нужны root-права (рутированный телефон).