Есть ли у отладочной версии приложения для Android больше шансов быть убитым?

Документы Android говорят:

Наконец, если приложение подписывается в режиме выпуска, вы должны выровнять .apk с помощью инструмента zipalign. Выравнивание окончательного .apk уменьшает использование памяти, когда приложение работает на устройстве.

Означает ли это использование памяти, как в «месте на жестком диске», или использование памяти, как в «RAM», во время выполнения процесса?

см.: http://developer.android.com/sdk/installing/studio-build.html#detailed-build


person EGHDK    schedule 10.05.2015    source источник


Ответы (1)


Это может помочь уменьшить объем оперативной памяти.

Несжатые активы могут отображаться в памяти непосредственно из файла APK, что позволяет им занимать «чистые» страницы, а не «грязные» страницы, и загружать каждую страницу только при необходимости. Преимущество «чистых» страниц в том, что их можно удалить и перезагрузить из источника, тогда как «грязные» страницы не могут. (Подробнее см. этот ответ.)

Сжатые ресурсы должны быть распакованы перед использованием, поэтому они обычно полностью распаковываются при первом доступе и занимают «грязные» страницы.

Выравнивание полезно для определенных типов файлов, которые должны быть выровнены в памяти. Во время ранней разработки Android файлы PNG отображались напрямую, но библиотека PNG считывала данные по 32 бита за раз. Эмулятор был настроен так, чтобы сообщать об ошибке шины при невыровненных 32-разрядных обращениях, поэтому приложение аварийно завершало работу. Чтобы избежать этой проблемы, zipalign был создан для настройки архива, чтобы гарантировать, что содержимое файла имеет 32-битное выравнивание, а менеджер ресурсов был обновлен, чтобы использовать прямое сопоставление только для выровненных файлов.

zipalign не оказывает реального влияния на дисковое пространство. Это увеличивает размер файла на 0-3 байта для каждого несжатого ресурса в APK.

Возвращаясь к вопросу в теме: в зависимости от активов приложения и того, как они используются, запуск zipalign может снизить вероятность того, что приложение будет уничтожено. Однако нет никаких причин, по которым вы не можете запустить zipalign в отладочной версии. Он просто добавляет немного заполнения в структуру zip-файла.

person fadden    schedule 10.05.2015