Это может помочь уменьшить объем оперативной памяти.
Несжатые активы могут отображаться в памяти непосредственно из файла APK, что позволяет им занимать «чистые» страницы, а не «грязные» страницы, и загружать каждую страницу только при необходимости. Преимущество «чистых» страниц в том, что их можно удалить и перезагрузить из источника, тогда как «грязные» страницы не могут. (Подробнее см. этот ответ а>.)
Сжатые ресурсы должны быть распакованы перед использованием, поэтому они обычно полностью распаковываются при первом доступе и занимают «грязные» страницы.
Выравнивание полезно для определенных типов файлов, которые должны быть выровнены в памяти. Во время ранней разработки Android файлы PNG отображались напрямую, но библиотека PNG считывала данные по 32 бита за раз. Эмулятор был настроен так, чтобы сообщать об ошибке шины при невыровненных 32-разрядных обращениях, поэтому приложение аварийно завершало работу. Чтобы избежать этой проблемы, zipalign был создан для настройки архива, чтобы гарантировать, что содержимое файла имеет 32-битное выравнивание, а менеджер ресурсов был обновлен, чтобы использовать прямое сопоставление только для выровненных файлов.
zipalign не оказывает реального влияния на дисковое пространство. Это увеличивает размер файла на 0-3 байта для каждого несжатого ресурса в APK.
Возвращаясь к вопросу в теме: в зависимости от активов приложения и того, как они используются, запуск zipalign может снизить вероятность того, что приложение будет уничтожено. Однако нет никаких причин, по которым вы не можете запустить zipalign в отладочной версии. Он просто добавляет немного заполнения в структуру zip-файла.
person
fadden
schedule
10.05.2015