Когда приложение принудительно перемещается на SD-карту, куда идут SharedPreferences? - PullRequest
4 голосов
/ 23 мая 2011

У меня есть приложение для Android, в котором есть служба, и она должна устанавливаться только внутри компании. Однако некоторые пользователи с ROOT устанавливают его на SD-карту и сообщают о всевозможных странных ошибках.

Когда пользователь делает это, куда идут SharedPreferences? Они также хранятся на SD-карте (очень плохо для меня, поскольку я часто их пишу) или они всегда находятся во внутренней памяти? Кажется, некоторые ошибки, которые я видел, указывают на эту ситуацию.

Если это так, как я могу определить, что мой файл SharedPreference действительно находится на SD-карте?

Спасибо!

1 Ответ

4 голосов
/ 23 мая 2011

Когда приложение перемещается на SD-карту, только .apk перемещается в /mnt/asec/package_name/pkg.apk. Каталоги и файлы shared_prefs, cache, database и т. Д. Остаются в разделе / ​​data в /data/data/package_name.

.

Я проверил это на своем рутированном Moto Droid 1 под управлением Bugless Beast 0.6.2.1.

К вашему сведению, службы будут работать нормально из приложения, которое было перенесено на SD-карту. Единственная проблема с переходом на SD-карту заключается в том, что когда SD-карта отключена, ваше приложение (и его службы) не смогут работать.

...