Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
#1

Hello world - почему такой большой размер приложения? - Программирование Android

10.11.2016, 22:55. Просмотров 484. Ответов 14
Метки нет (Все метки)

Я встречал на Плей Маркете приложения которые весили несколько сотен килобайт. Почему Hello world весит так много (мегабайты)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2016, 22:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Hello world - почему такой большой размер приложения? (Программирование Android):

Нереально большой размер apk
нереальный размер apk = 700 кб))) кода немного никаких экранов и картинок... из...

Размер приложения
Здравствуйте! Возникла проблема с разрешением приложения. Что нужно сделать...

Данные или размер приложения после установки
Такая проблема, делал приложение пару месяцев, регулярно его тестировал, но...

Почему при написании текста в Photoshop размер мигающего курсора такой большой?
Почему при написании текста в Photoshop размер мигающего курсора такой большой?...

Почему такой огромный размер БД Оракл
Здравствуйте. С БД на Oracle столкнулся впервые. Сейчас стоит задача дать...

Почему результат компиляции маленькой программы на с++ имеет довольно большой размер?
Почему 20 строчек программа после компиляции exe файл занимает пол метра 512...

14
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,381
10.11.2016, 23:02 #2
релиз меньше весит, чем дебаг, плюс обфускатор своё дело делает.
1
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
10.11.2016, 23:05  [ТС] #3
обфускатор что это такое?
0
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,381
10.11.2016, 23:12 #4
ты как маленький
https://ru.wikipedia.org/wiki/Обфускация_(программное_обеспечение)
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
11.11.2016, 00:24  [ТС] #5
Это мне понятно. Вопрос я сформулировал не точно. Извиняюсь. Так точней - какой смысл в обфускации? Программа предполагается как полностью бесплатная. Нужно ли ащищать бесплатные программы и от чего?
0
vxg
Модератор
3231 / 2034 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
11.11.2016, 08:58 #6
Star2016, думаю дело в библиотеках обратной совместимости пришиваемых к приложению - посмотрите какие у вас классы и версии API
0
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,381
11.11.2016, 09:17 #7
Цитата Сообщение от Star2016 Посмотреть сообщение
какой смысл в обфускации
Из той же самой ссылки
Цели обфускации[править | править вики-текст]
Затруднение декомпиляции/отладки и изучения программ с целью обнаружения функциональности.
Затруднение декомпиляции проприетарных программ с целью предотвращения обратной разработки или обхода DRM и систем проверки лицензий.
Нарушение авторских прав программистов и скрытие авторства. Парадокс в том, что используется это преимущественно в проприетарных программах[источник не указан 1894 дня].
Оптимизация программы с целью уменьшения размера работающего кода и (если используется некомпилируемый язык) ускорения работы.
Демонстрация неочевидных возможностей языка и квалификации программиста (если производится вручную, а не инструментальными средствами).
Добавлено через 3 минуты
То что ты спрашивал предпоследний пункт, если грубо, обфусатор убирает всё лишнее, что есть в проекте, но не используется.
Вот здесь можно более предметно познакомиться http://proguard.sourceforge.net/
1
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
11.11.2016, 10:21  [ТС] #8
Спасибо! А в самой среде разработки обфускатора нет? Или может есть обфускатор от разработчиков Андроид?
0
vxg
Модератор
3231 / 2034 / 319
Регистрация: 13.01.2012
Сообщений: 7,885
11.11.2016, 10:29 #9
Star2016, во времена ADT proguard был встроен в среду и обрабатывал формируемый пакет если человек включал соответствующие настройки, думаю в AS ничего в этом плане не должно было измениться, но могу ошибаться
1
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,381
11.11.2016, 10:29 #10
Это он и есть proGuard, включается в градле для AS так:
XML
1
minifyEnabled true
Опередили...
2
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
11.11.2016, 11:21 #11
а еще потому что некоторые пишут приложения без использования
Java
1
2
 compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.android.support:design:25.0.0'
с ними размер апк побольше получается
3
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
11.11.2016, 17:35  [ТС] #12
То есть фактически ProGuard мне не нужен а просто применить настройку - minifyEnabled true ???
Но где эту настройку вставить? После этого мои исходный код да и вообще проект не будет деформирован? То есть на что повлияет эта настройка? Что будет обработано? Отразится ли это как то на отладке?
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
11.11.2016, 17:54 #13
Цитата Сообщение от Star2016 Посмотреть сообщение
То есть фактически ProGuard мне не нужен а просто применить настройку - minifyEnabled true ???
Но где эту настройку вставить? После этого мои исходный код да и вообще проект не будет деформирован? То есть на что повлияет эта настройка? Что будет обработано? Отразится ли это как то на отладке?
ты занимаешься какой-то фигней, во-первых взял бы и попробовал что там и как отразится
во-вторых, от применения обфускатора не будет вау-эффекта и неба в алмазах

для начала надо просто сделать Refactor -> Unused Resorses и там в окошке нажат Preview и студия покажет какие ресурсы болтаются в проекте, но не используются

потом можно сделать Build -> Analize APK и выбрать свою апк
студия покажет сколько какая папка или файл занимает места и делать выводы от результата
1
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,381
11.11.2016, 19:30 #14
Star2016, гуард включают в релизных версиях приложений, в твоём hello world он не нужен.
Цитата Сообщение от Star2016 Посмотреть сообщение
То есть фактически ProGuard мне не нужен а просто применить настройку - minifyEnabled true ???
Но где эту настройку вставить? После этого мои исходный код да и вообще проект не будет деформирован? То есть на что повлияет эта настройка? Что будет обработано? Отразится ли это как то на отладке?
Цитата Сообщение от ExFau$t Посмотреть сообщение
Это он и есть proGuard, включается в градле для AS так:

Java
1
minifyEnabled true
Цитата Сообщение от ExFau$t Посмотреть сообщение
Вот здесь можно более предметно познакомиться http://proguard.sourceforge.net/
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
11.11.2016, 20:21  [ТС] #15
Refactor -> Unused Resorses - спасибо, не знал. Я вручную все неиспользуемые ресурсы удалял.

Добавлено через 2 минуты
Hello world это образно ... реальную программу я дописал на 98% и так как она первая у меня то про обфускацию и.т.д. я почти ничего не знаю
0
11.11.2016, 20:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2016, 20:21
Привет! Вот еще темы с решениями:

Почему приложение с пустой формой имеет такой размер?
Всем привет У меня возник вопрос, почему в делфи пустая форма такая большая? ...

Почему игра kkrieger имеет такой малый размер?
интересно каким образом можно было добиться подобного от приложения в 97 кб?...

Минимальный размер c++ hello world
Благодаря этой статье собрал следующий код в 5.5кб. Кто может меньше?...

Ссылка становиться такой же большой как и заголовок
<!DOCTYPE html> <html> <head> <title> This is a title </title> </head>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru