2013-06-17 2 views
2

Хороший день, У меня довольно большой проект, в настоящее время локализованный на 21 язык, где один язык имеет около 9000 слов! Это не так интересно, ноЛокализованные строки (Android) заняли слишком много памяти

  • компилируется и запускается приложение со всеми этими ресурсами, взял после начала около 11 MB в памяти (просто измеряется Debug.getNativeHeapSize())

  • при удалении 20 языков и держать только по умолчанию, то он уже после запуска только 7,5 MB

Потому что самая большая проблема моего приложения являются устройства остроумие h низкая память, доступная для одного процесса (в основном более старые устройства с 2.X android), это очень серьезный вопрос для меня.

Так вот идет два вопроса, надеюсь, что кто-то будет иметь какие-либо полезные предложения

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

  2. если нет каких-либо объяснений для пункта 1., есть ли способ перекомпилировать ресурсы в отдельные пакеты и загрузить их по запросу? Например, в какой-то начальной деятельности, где пользователь выбирает язык, который он хочет использовать?

любые предложения более чем приветствуются. Спасибо

+1

Используйте MAT, чтобы точно определить, где лежит разница в памяти. – CommonsWare

+0

для моего очень большого удивления, обе версии показывают точно такие же результаты - http://tinypic.com/r/2ptuzxw/5 - так кажется, что Debug.getNativeHeapSize() не лучший способ проверить количество занимаемой в данный момент памяти. Спасибо за хороший момент ... как я могу принять вас, если это «просто» комментарий? –

ответ

0

Измерение памяти на Android напоминает часть Zork: лабиринт извилистых маленьких проходов, все одинаковые.

Если ваша проблема связана с VM, лучший способ попытаться получить ответы (IMHO) - использовать MAT. В частности, на Android 3.0 и выше, если вы выделяете память в SDK, она должна отображаться здесь.

Для более подробного обсуждения способов использования памяти без использования MAT и их подводных камней я рекомендую Dianne Hackborn's epic answer on the subject.

+0

спасибо, ваша помощь оценена –

Смежные вопросы