Содержание
- 2. Обо мне Енютин Вячеслав Senior Mobile Developer (iOS, Android) опыт разработки высоконагруженных приложений более 5 лет.
- 3. Чем доклад? Опыт Боль И применение
- 4. Для чего мы используем Gradle? Инспектор зависимости Инструмент для Автоматической подписи Для быстрого переключения debug/release Для
- 5. Запуск тестов
- 6. Как все работает?
- 7. Сборка ресурсов Main Paid Free debug release paidDebug freeDebug paidRelease FreeRelease
- 8. Фича №1 Управление ресурсами App Feature App Network
- 9. Модульная архитектура?
- 10. No.
- 11. Представим App Feature 50 layout 150 drawable (xml)
- 12. App Feature 50 layout 150 drawable (xml) activity_main_screen.xml main_screen_content.xml fargment_*********.xml adapter_**********.xml
- 13. App Feature 50 layout 150 drawable (xml) activity_main_screen.xml main_screen_content.xml fargment_*********.xml adapter_**********.xml
- 14. Решение
- 15. Решение Разделение ресурсов Свободная иерархия Поддержка Flavors
- 16. Что для этого потребуется?
- 17. Фича №2 Производительность
- 18. Сколько занимает сборка проекта (clean-build) До 1 минуты От 1 до 5 минут От 5 до
- 19. Новое в gradle compile implements VS api
- 20. App Feature App Network api project(:’ app’) api project(:’ Network’)
- 21. App Feature App Network api project(:’ app’) api project(:’ Network’) App Feature будет знать О библиотеке
- 22. App Feature App Network Измененяем слово
- 23. App Feature App Network Измененяем слово Recompile
- 24. App Feature App Network Измененяем слово Recompile
- 25. App Feature App Network Измененяем слово Recompile implements
- 26. Сколько занимает ваш Build ./gradlew clean assembleDebug --scan
- 27. Сборка NOT INCREMENTAL Сборка INCREMENTAL 27 секунд 1 минута 54 секунд
- 28. Как добавить? В файл gradle.properties Добавляем: org.gradle.parallel=true
- 29. Фича №3 Используй голову
- 30. Что может замедлять сборку? Dagger 2 Butter Knife Data Binding Room Retrofit
- 31. Что может замедлять сборку? Dagger 2 Butter Knife Data Binding Room Retrofit CODE GENARATION
- 32. Annotation processing IS NOT INCREMETAL
- 33. Dagger android Не используйте это! Субкомпоненты Dagger инициализируются внутри родительского компонента
- 34. Основные проблемы Annotations processing ВСЮДУ Плохо выстроенная взаимосвязь модулей Data Binding и Dagger генерации в Application
- 35. Спасибо за внимание!
- 36. Спасибо за внимание!
- 38. Скачать презентацию