Несколько обновлений для курса Производительность.
1) В первый урок я добавил видео моего доклада на CodeFest 2019. Его можно рассматривать, как очень краткое содержание курса.
2) Добавлен урок про APK Analyzer.
3) Добавлен урок про Systrace.
https://startandroid.ru/ru/courses/performance/28-course/performance/575-urok-1-vvedenie.html
1) В первый урок я добавил видео моего доклада на CodeFest 2019. Его можно рассматривать, как очень краткое содержание курса.
2) Добавлен урок про APK Analyzer.
3) Добавлен урок про Systrace.
https://startandroid.ru/ru/courses/performance/28-course/performance/575-urok-1-vvedenie.html
StartAndroid
Урок 1. Введение
Курс Android Performance. Как найти проблемы производительности приложения и устранить их.
Перевод полезной и популярной статьи про Architecture Components
#android #architecturecomponents
https://habr.com/ru/post/454424/
#android #architecturecomponents
https://habr.com/ru/post/454424/
Хабр
5 распространенных ошибок при использовании архитектурных компонентов Android
Даже если вы не делаете этих ошибок, стоит о них помнить, чтобы не столкнуться с некоторыми проблемами в будущем. 1. Утечка наблюдателей LiveData во фрагментах...
Перевод гугловского мануала по архитектуре приложений
#android #architecture
https://habr.com/ru/post/456256/
#android #architecture
https://habr.com/ru/post/456256/
Хабр
Руководство по организации архитектуры Android приложения
Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по перево...
Продолжение серии статей про стили. На примере SwitchCompat рассматривается возможность изменения внешнего вида стандартных View с помощью стилей.
#android #design
https://habr.com/ru/post/456178/
#android #design
https://habr.com/ru/post/456178/
Хабр
Темы и стили в Android без магии. И как их готовить с SwitchCompat
В предыдущей статье мы рассмотрели как использовать темы и стили на уровне кода, на примере кастомной view. В этой статье давайте разберем несколько способов стилизации стандартного ui элемента,...
Видео про использование памяти в Android. В названии фигурирует слово Games, но особой привязки к играм нет. Будет полезно и разработчикам приложений.
#android #memory #performance
https://www.youtube.com/watch?v=Do7oYWwOXTk
#android #memory #performance
https://www.youtube.com/watch?v=Do7oYWwOXTk
YouTube
Android memory and games (Google I/O'19)
Memory management is a difficult problem for game developers on mobile devices. They want to use as much memory as possible, but have to contend with other apps and the system for resources. This talk will describe how games are currently dealing with memory…
Forwarded from The Daily Kotlin (Ruslan Ibragimov)
📦 1.3.40 Released!
Список изменений большой и разнообразный, так что можно почитать блогпост с хайлайтами.
Хочу напомнить, что мы все пользуемся трудами большой команды разработки (куда входят не только сами разработчики, но и QA инженеры, менеджеры, архитекторы). А также внешние участники, с их багрепортами, предложениями и pull request'ами.
От всего сообщества огромное спасибо за то что вы делаете такой прекрасный продукт!
Список изменений большой и разнообразный, так что можно почитать блогпост с хайлайтами.
Хочу напомнить, что мы все пользуемся трудами большой команды разработки (куда входят не только сами разработчики, но и QA инженеры, менеджеры, архитекторы). А также внешние участники, с их багрепортами, предложениями и pull request'ами.
От всего сообщества огромное спасибо за то что вы делаете такой прекрасный продукт!
The JetBrains Blog
Kotlin 1.3.40 released | The Kotlin Blog
We’re happy to present the new release today, Kotlin 1.3.40. In addition to the quality and tooling improvements the main focus for this version has been on: Gradle support for NPM, Yarn, and Webpa
Всех Android-разработчиков со знанием Java или Kotlin OTUS приглашает на бесплатные вебинары перед запуском курса «Android-разработчик» на Kotlin:
- сегодня, 20 июня в 20 мск по вашим просьбам повторяем вебинар «Dagger 2 для Android-разработчиков»: https://otus.pw/4oh9/
- 24 июня в 20 мск проводим День открытых дверей курса: https://otus.pw/fTN7/
На вебинаре мы подробно разберем фреймворк Dagger2 и рассмотрим его использование в многомодульном приложении, а также:
- Вы узнаете как Dagger2 генерирует код;
- Разберемся с аннотациями JSR 330 и Dagger2 специфик конструкциями;
- Научимся использовать Dagger2 в многомодульном приложении;
- Рассмотрим Dagger Android Injector.
На Дне открытых дверей:
- Ответим на все интересующие вас вопросы по продвинутой Android-разработке;
- Поговорим о хардкорной программе курса, формате обучения и выпускном проекте;
- Расскажем о карьерных перспективах выпускников OTUS и 20+ работодателях, которые готовы предложить собеседования на вакантные позиции по итогу обучения.
#реклама
- сегодня, 20 июня в 20 мск по вашим просьбам повторяем вебинар «Dagger 2 для Android-разработчиков»: https://otus.pw/4oh9/
- 24 июня в 20 мск проводим День открытых дверей курса: https://otus.pw/fTN7/
На вебинаре мы подробно разберем фреймворк Dagger2 и рассмотрим его использование в многомодульном приложении, а также:
- Вы узнаете как Dagger2 генерирует код;
- Разберемся с аннотациями JSR 330 и Dagger2 специфик конструкциями;
- Научимся использовать Dagger2 в многомодульном приложении;
- Рассмотрим Dagger Android Injector.
На Дне открытых дверей:
- Ответим на все интересующие вас вопросы по продвинутой Android-разработке;
- Поговорим о хардкорной программе курса, формате обучения и выпускном проекте;
- Расскажем о карьерных перспективах выпускников OTUS и 20+ работодателях, которые готовы предложить собеседования на вакантные позиции по итогу обучения.
#реклама
Otus
Продвинутый курс промышленной аndroid-разработки на языке Kotlin
Курс по промышленной аndroid-разработке в OTUS с возможностью трудоустройства!
Подборка советов по производительности. Ничего нового, все как обычно: потоки, мемори лики, static final, <include> и <merge> и т.п. Но всегда имеет смысл снова посмотреть, чтобы не забывалось.
#android #performance
https://heartbeat.fritz.ai/increasing-performance-in-an-android-application-1086640aeef
#android #performance
https://heartbeat.fritz.ai/increasing-performance-in-an-android-application-1086640aeef
Medium
Increasing performance in an Android application
Best practices and tools to increase performance in Android
Несколько советов по работе с Glide с точки зрения потребления памяти
#android #glide #memory #performance
https://proandroiddev.com/how-to-optimize-memory-consumption-when-using-glide-9ac984cfe70f
#android #glide #memory #performance
https://proandroiddev.com/how-to-optimize-memory-consumption-when-using-glide-9ac984cfe70f
Medium
How to optimize memory consumption when using Glide
For developers of the apps which a lot of images, the one thing is certain besides death and taxes: OutOfMemory errors (OOM). Facing these…
Пост очень наглядно объясняет, как с коллекциями работают цепочки операторов, например: list.filter(...).map(...).take(...)
Это используется в котлине, в RxJava и в Java Stream API.
#android #collections
https://typealias.com/guides/kotlin-sequences-illustrated-guide/
Это используется в котлине, в RxJava и в Java Stream API.
#android #collections
https://typealias.com/guides/kotlin-sequences-illustrated-guide/
Dave Leeds on Kotlin
Kotlin Sequences: An Illustrated Guide
An illustrated introduction to Sequences in Kotlin - easy-to-understand diagrams that demonstrate the difference between regular collection operations and sequence operations.
Статья о Kotlin-аннотации Parcelize, которая сделает ваш объект Parcelable, и вам не придется писать кучу кода.
#android #kotlin
https://blog.stylingandroid.com/parcelize/
#android #kotlin
https://blog.stylingandroid.com/parcelize/
Styling Android
Parcelize
A Parcel is an optimised serialisation format for Android which is designed to enable us to transfer data between processes. This is something that most Android developers need to do occasionally, bu
Небольшой вводный материал про Gradle и Groovy. Может послужить стимулом для более подробного изучения темы.
#android #gradle
https://habr.com/ru/post/458046/
#android #gradle
https://habr.com/ru/post/458046/
Хабр
Шпаргалка по Gradle
Как мне кажется, большинство людей начинают разбираться с gradle только тогда, когда в проекте что-то надо добавить или что-то внезапно ломается — и после решени...
Android Academy снова объявляет набор слушателей, теперь уже на Advanced курс.
#android #course
https://habr.com/ru/company/avito/blog/458312/
#android #course
https://habr.com/ru/company/avito/blog/458312/
Хабр
Android Academy в Москве: Advanced Course
Всем привет! Лето — это отличное время года. Подошли к концу Google I/O, Mobius и AppsConf, а многие студенты уже закрыли или вот-вот уже закончат сдавать сессии...
Подробный пример создания swipe анимации с использованием MotionLayout
#android #animation
https://habr.com/ru/company/badoo/blog/458854/
#android #animation
https://habr.com/ru/company/badoo/blog/458854/
Хабр
MotionLayout: анимации лучше, кода — меньше
Google продолжает улучшать нашу жизнь, выпуская новые удобные библиотеки и API. Среди которых оказался и новый MotionLayout. Учитывая обилие анимаций в наших приложениях, мой коллега Cedric Holtz...
Пример создания анимации хлопков на medium. В коде там callback hell, наверняка можно было сделать и получше, но анимационная часть объясняется достаточно подробно и с кучей комментариев.
#android #animation
https://blog.prototypr.io/medium-clap-animation-in-android-dc864790367
#android #animation
https://blog.prototypr.io/medium-clap-animation-in-android-dc864790367
Medium
Medium Clap Animation in Android
Medium clap animation is one of the most intriguing animations I’ve come across so far, so I decided to recreate it as it would be…