Карлос Милан

28 септември 2018 г. 7 минути четене

Обичам Android, от години съм потребител на тази прекрасна операционна система Google, имам голямо разнообразие от приложения в Google Play Store и има какво да избирате (не говоря повече от моята гледна точка). Сега едно от нещата, които разглеждам, преди да изтегля приложение, е неговият размер, тъй като с толкова много приложения е лесно да останете без място за съхранение и да решите кое приложение използвате по-малко, за да го изтриете. Други съображения са, че много пъти нямаме под ръка Wi-Fi мрежа и трябва да изтеглим приложението с плана за данни, което води до бързо изчерпване на скъпоценните MB, които имаме (сега вече не е бъркотия, защото Hostspots или точките за безплатен Wi-Fi се увеличават в различни части, като търговски центрове, транспортната гара и др.).

размера

Видях тази статия на английски и искам да я споделя с вас на испански за тези, които все още не се справят добре със северноамериканския език. Посочете няколко съвета за намаляване на размера на нашите приложения, които пишем, за да може всеки да им се наслаждава. В края оставям първоизточника.

ProGuard е водещият подобрител на байт кодове в Java. Оптимизирайте байт кода и премахнете неизползваните инструкции. Преименувайте класове, полета и методи, използвайки безсмислени кратки имена, което прави кода ви по-сигурен от обратното инженерство. Прави вашите приложения за Java и Android до 90% по-малки и до 20% по-бързи. Можете да получите повече информация за програмата https://www.guardsquare.com/en/proguard.

За да активираме proguard, правим следното:

Отворете файла build.gradle в Android Studio и добавете редовете: minifyEnabled true и shrinkResources true.

Но не забравяйте, че процесът на намаляване на кода забавя времето за изграждане. Така че трябва да го използвате само когато ще стартирате приложението си или ако го давате за тестване.

minifyEnabled отговаря за намаляването на кодовите файлове (напр. Java). Това е основната характеристика на ProGuard и помага за намаляване на вашия APK, както и затруднява обратното инженерство.

shrinkResources Използва се за премахване на неизползвани файлове с ресурси (като изображения и други активи). Например, ако изграждате с Android библиотека, но не използвате някои изображения в тази Android библиотека, те няма да бъдат включени в окончателното изграждане.

2. Векторни чертежи

Както подсказва името, векторните рисунки се основават на векторни графики, за разлика от растерните графики. Той е подобен на SVG файла. В Android Vector Drawable те се създават с XML файлове. Преди добавянето на Vector Drawable в Android SDK, разработчикът трябваше да създаде множество версии на изображения за различни резолюции на екрана. Това отнема повече време за създаване на допълнителни активи и изразходва повече пространство, което увеличава размера на Apk.
Сега няма нужда да проектирате изображения с различен размер за mdpi, hdpi, xhdpi и др. С Vector Drawable трябва да създадете изображението само веднъж като xml файл и можете да го мащабирате за всички dpi и за различни устройства. Това също не спестява място, но също така опростява поддръжката. Можете да научите как да създавате векторни чертежи на http://www.androidtutorialshub.com/android-vector-drawable-example-using-appcompat-support-library/

3. Услуги на Google Play

Във версии 6.5 на Google Play Services трябваше да компилирате целия API пакет във вашето приложение. В някои случаи това направи по-трудно поддържането на броя на методите във вашето приложение (включително API на рамката, библиотечни методи и вашия собствен код) под ограничението от 65 536.
Започвайки с версия 6.5, можете избирателно да компилирате API на услугата Google Play във вашето приложение. Например, за да включите само API на Google Map и Android Wear, заменете следния ред във вашия файл build.gradle:

с тези редове:

компилирайте 'com.google.android.gms: play-services-maps: 10.2.0'

компилирайте 'com.google.android.gms: play-services-wearable: 10.2.0'

Тук можете да видите повече за API на Google Play Services:

Настройте услугите на Google Play | API на Google за Android | Google Developers

Тъй като всяко приложение използва услугите на Google Play по различен начин, зависи от вас да изберете подходящото място в приложението си да ...

developers.google.com

Често се създава един APK, за да поддържа всички целеви устройства, когато е възможно, което може да доведе до много голям APK поради файловете, необходими за поддържане на множество плътности на екрана или двоични интерфейси на приложения (ABI). Един от начините да намалите размера на вашия APK е да създадете множество APK файлове, които съдържат файлове за конкретни ABI или плътност на екрана. Gradle може да създава отделни APK файлове, които съдържат само специфичен код и ресурси за всяка плътност или ABI. За да научите как да конфигурирате вашата компилация за генериране на множество APK файлове, следвайте тази връзка https://developer.android.com/studio/build/configure-apk-splits.html

5. Оптимизиране на png изображения

Чудесен начин да подобрите производителността на приложението е да оптимизирате размера на изображенията. По-малките размери на изображения изискват по-малко използване на памет, дисково пространство, време за зареждане и най-важното, намаляване на размера на Apk. PNG изображенията могат да бъдат намалени по размер на файла, без да губят качество. За целта използвайте инструмент като OptiPNG или PNGCrush. И двете са чудесни за намаляване на размера на PNG файлове, като същевременно се гарантира качеството на изображението. Можете също да използвате някои услуги за онлайн оптимизация на изображения на TinyPng.

6. 9-пластирни изображения

9-кръпка png е специален формат за PNG, който може да се използва за фонове. Девет изображения на кръпка са особено полезни при проектирането на бутони. Вместо да дефинира нормално растерно изображение, което да се използва като фон, 9 кръпка дефинира девет сегмента за всеки от четирите ъгъла, четирите ръба и центъра. За повече информация относно изображението с 9 кръпки https://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
и за да научите как да нарисувате инструмента с 9 кръпки, е включен редактор WYSIWYG, включен в Android Studio https://developer.android.com/studio/write/draw9patch.html

7. Препоръчителни мултимедийни формати

8. Повторно използване на ресурсите

Повторното използване на нещата е може би една от първите важни оптимизации, които научавате, когато започнете да се развивате на мобилни устройства. Това дори няма да намали размера на вашия apk, но също така ще спести време за разработване на едно и също нещо отново и отново.
Например можете да включите отделен ресурс за варианти на изображение, като тонирани, сенчести или завъртени версии на едно и също изображение. Но се препоръчва да използвате повторно същия набор от ресурси и да ги персонализирате, както е необходимо, по време на изпълнение.
Android предоставя няколко помощни програми за промяна на цвета на актив, като използва атрибутите на android: tint и tintMode в Android 5.0 (API ниво 21) и по-нови. За по-ниски версии на платформата използвайте клас ColorFilter.
Следният кодов фрагмент предоставя пример за преобразуване на стрелка „разгъване“ в икона на стрелка „свиване“ просто чрез завъртане на оригиналното изображение на 180 градуса:

9. Изтрийте информация за отстраняване на грешки

Силно се препоръчва да премахнете всички функции, свързани с отстраняване на грешки, от приложението. Приложението обикновено не вижда или използва тези данни и операционната система Android не изисква от него да стартира приложението. Така че информацията за отстраняване на грешки просто губи място и трябва да бъде премахната.

10. Lint Tool

Proguard оптимизира само Java кода. За съжаление, това не изглежда от страна на ресурсите. Например, ако имате изображение с име icon_arrow.png в res/drawable и не се използва никъде, Proguard просто премахва референцията си в клас R, но вместо това запазва свързаното изображение.
Инструментът Lint, статичен анализатор на код, включен в Android Studio, открива ресурси във вашата res/папка, които вашият код не препраща. Когато инструментът за пухче открие потенциално неизползван ресурс във вашия проект, той отпечатва съобщение като следния пример.

Готово, надявам се, че тези съвети са много полезни за вас. Очаквайте скоро още статии за Android Studio.