Хороший день, У меня довольно большой проект, в настоящее время локализованный на 21 язык, где один язык имеет около 9000 слов! Это не так интересно, ноЛокализованные строки (Android) заняли слишком много памяти
компилируется и запускается приложение со всеми этими ресурсами, взял после начала около 11 MB в памяти (просто измеряется
Debug.getNativeHeapSize()
)при удалении 20 языков и держать только по умолчанию, то он уже после запуска только 7,5 MB
Потому что самая большая проблема моего приложения являются устройства остроумие h низкая память, доступная для одного процесса (в основном более старые устройства с 2.X android), это очень серьезный вопрос для меня.
Так вот идет два вопроса, надеюсь, что кто-то будет иметь какие-либо полезные предложения
Я ожидаю, что Android загружает только необходимые ресурсы, так как вполне возможно, что эти дополнительные языки делают так огромное значение, когда в памяти должен быть в худшем случае справедливым списком имеющихся ресурсов
если нет каких-либо объяснений для пункта 1., есть ли способ перекомпилировать ресурсы в отдельные пакеты и загрузить их по запросу? Например, в какой-то начальной деятельности, где пользователь выбирает язык, который он хочет использовать?
любые предложения более чем приветствуются. Спасибо
Используйте MAT, чтобы точно определить, где лежит разница в памяти. – CommonsWare
для моего очень большого удивления, обе версии показывают точно такие же результаты - http://tinypic.com/r/2ptuzxw/5 - так кажется, что Debug.getNativeHeapSize() не лучший способ проверить количество занимаемой в данный момент памяти. Спасибо за хороший момент ... как я могу принять вас, если это «просто» комментарий? –