Forwarded from Android Broadcast (Кирилл Розов)
Google представила хаб для дизайном UI Android приложений - сборник материалов для вдохновления и инструкции по реализации. Гайды есть для мобилок, часов, больших экранов и TV. Классно что можно увидеть примеры популярных функций и их реализаций для разных устройств
#design #googleio #material
#design #googleio #material
Сборщик мусора занимается тем что смотрит, что у нас в heap осталось живое и ненужное удаляет
Он начинает от gcroots, и.е от тех объектов , которые лежат на стеках работающих тредов
Когда он от этих объектов которые явно используются, пройдется по всем возможным поддеревьям ссылок и посетить все объекты в heap, все что он не посетит - ОН удалит как мусор
Forwarded from Android Live 🤖
Хендбук с алгоритмами
#algorithms
Тут на глаза попался отличный учебник от Яндекса по основам алгоритмов.
Если вы плаваете в этой теме — рекомендую пройти с самого начала. Беглый обзор показал, что объясняется весьма понятно, даже если вы совсем ничего не понимаете или пропускали этот предмет в вузе.
За основу взят этот ресурс, ну и плюс добавлена масса практических заданий и примеров. Сохраняйте в закладки, а лучше начинайте изучать сразу, чтобы проходить специфические собеседования без запинок.🙃
#algorithms
Тут на глаза попался отличный учебник от Яндекса по основам алгоритмов.
Если вы плаваете в этой теме — рекомендую пройти с самого начала. Беглый обзор показал, что объясняется весьма понятно, даже если вы совсем ничего не понимаете или пропускали этот предмет в вузе.
За основу взят этот ресурс, ну и плюс добавлена масса практических заданий и примеров. Сохраняйте в закладки, а лучше начинайте изучать сразу, чтобы проходить специфические собеседования без запинок.
Please open Telegram to view this post
VIEW IN TELEGRAM
recycler.doOnEachLayout {
layoutManager.spanCount = (recycler.measuredWidth.toFloat() / preferredItemSize.pixelsSize).roundToInt()
}
layoutManager.spanCount = (recycler.measuredWidth.toFloat() / preferredItemSize.pixelsSize).roundToInt()
}
Immutability
The UI state definition in the example above is immutable. Immutable objects provide guarantees that multiple sources do not alter the state of the app at an instant in time. This protection frees the UI to focus on a single role: reading state and updating UI elements accordingly. Therefore, you should never modify the UI state in the UI directly, unless the UI itself is the sole source of its data. Violating this principle results in multiple sources of truth for the same piece of information, leading to data inconsistencies and subtle bugs.
The UI state definition in the example above is immutable. Immutable objects provide guarantees that multiple sources do not alter the state of the app at an instant in time. This protection frees the UI to focus on a single role: reading state and updating UI elements accordingly. Therefore, you should never modify the UI state in the UI directly, unless the UI itself is the sole source of its data. Violating this principle results in multiple sources of truth for the same piece of information, leading to data inconsistencies and subtle bugs.