AAndroid under the hood

Android under the hood

@android_under_the_hood💻 Технологии🇬🇧 English📅 март 2026 г.

Пишу об Android разработке, программировании и о всяких интересных штуках. while (isAlive) { beHappy(); } лс: @dmitry_tsyvtsyn

📊 Полная статистика📝 Все посты
##39
1.6K
Подписчики
2.4K
Ср. охват
154.5%
Вовлечённость
16
Постов
~0.1
В день

Графики

📊 Средний охват постов

📉 ERR % по дням

📋 Публикации по дням

📎 Типы контента

Лучшие публикации

16 из 16
Aandroid_under_the_hood
android_under_the_hood
3 июл., 12:48

Что такое modCount в ArrayList'е? Если внимательно присмотреться к исходникам ArrayList'а, можно увидеть инкрементирование переменной modCount при каждом изменении списка: class ArrayList<E> { private var modCount = 0 fun add(element: E) { modCount++ ... } fun remove(element: E) { modCount++ ... } fun clear() { modCount++ ... } } Такая логика нужна для сохранения консистентности данных в случаях когда используются итераторы: class ArrayListIterator<E> { ... fun next(): E { / modCount берется из ...

👁 3.9K
Aandroid_under_the_hood
android_under_the_hood
23 июл., 08:50

В последнее время у меня появилось желание сделать некоторую серию постов про алгоритмы и структуры данных в очень базовом и лайтовом формате, что скажите? P.S. Есть еще одна крутая новость, недавно мы с другими мобильными блогерами собрали крутую папку авторских тг каналов, залетайте: https://t.me/addlist/Y8vKlay8BuM2OTUy Всем не хорошего, а замечательного кода!

👁 3.3K
Aandroid_under_the_hood
android_under_the_hood
26 июл., 15:21

Массивы. Начнем с самой базовой структуры данных - массивы, на ней кстати построен всеми известный ArrayList. Массив - это набор значений одного типа, очень важно что именно одного, то есть массив не может содержать одновременно числа и строки, случай с Any и другими объектами объясняется тем что там хранятся ссылки на объекты, а не сами объекты как например числа, а все ссылки имеют одинаковый размер, то есть можно сказать это один тип. Идем дальше, как мы знаем массивы позволяют получать значе...

👁 3.2K📷 photo
Aandroid_under_the_hood
android_under_the_hood
29 июн., 14:17

Первая машина. Буквально год назад я не интересовался машинами от слова совсем, но в один из прекрасных октябрьских дней 2024 года я скачал игру Forza Horizon 4 и тут понеслось: сначала я просто гулял по городу и разглядывал марки и модели машин, затем начал интересоваться технической стороной, какие бывают двигатели, приводы, топливные системы и всякое такое, ну и все это вылилось в то что я получил права и купил свою первую машину, как раз ей я хотел бы посвятить этот пост. Те кто шарит уже на...

👁 3.1K📷 photo
Aandroid_under_the_hood
android_under_the_hood
10 окт., 14:40

Что ж пора замутить небольшой закреп по крутым материалам. Полезные статьи: Новые коллекции в Android Kotlin Coroutines под капотом Kotlin Coroutines под капотом: CoroutineContext и CoroutineScope Kotlin Coroutines под капотом: отмена корутин Полезные посты: Пару слов о базовой концепции Dagger? Как вьюшки получают touch события? Как устроена библиотека Picasso? Полезные факты о библиотеке OkHttp. Кратко о реализации пула потоков. Немного о структуре данных SparseArray. Немного о JVM. Немного пр...

👁 2.9K
Aandroid_under_the_hood
android_under_the_hood
18 авг., 08:54

ArrayList. Следующая структура данных - динамический массив или как часто его&nbsp;называют в Android разработке - ArrayList. ArrayList - это самый обычный массив, который при переполнении просто удаляется, а его значения тупо копируются в новый, более вместительный массив, выше на картинке это наглядно продемонстрировано, вообще это очень крутая структура данных, так как сохраняется преимущество массивов - произвольный доступ. Но и есть недостаток связанный с удалением, к примеру надо удалить з...

👁 2.7K📷 photo
Aandroid_under_the_hood
android_under_the_hood
25 нояб., 12:24

Любая крутая штука в моей жизни чаще всего появлялась когда я сам начинал что-то делать, взять мой канал, я просто начал писать технические посты, кому то это начало заходить, заинтересованные люди начали подписываться и я такой, окей, буду еще черкать текст, как говорится бумага не тратится и с деревьями все хорошо) А все начиналось с текста из сохраненок телеграма... Конечно это все очевидно и банально: ничего не делать - ничего не будет, но почему то самые банальные вещи не кладутся в перемен...

👁 2.7K📷 photo
Aandroid_under_the_hood
android_under_the_hood
16 нояб., 12:09

Хэш-таблицы, часть II. В прошлом посте был показан механизм работы хэш-таблицы, который состоит в вычислении индекса массива с помощью так называемой хэш функции: val index = hash(key) // хэш таблица под капотом является обычным массивом hashMap[index] = value // хэш-функция вычисляет индекс практически моментально fun hash(...) { ... } К сожалению не все так просто и хэш функции порой возвращают один и тот же индекс для разных ключей, это называется коллизией, есть несколько вариантов как их ра...

👁 2.7K
Aandroid_under_the_hood
android_under_the_hood
14 сент., 09:51

LinkedList. Связанный список устроен весьма просто: каждый объект хранит ссылку на следующий кроме последнего: class Node( val value: Int, var next: Node? = null ) // всегда ссылается на первый элемент val root = Node(1) // добавляем в список значения root.next = Node(2) root.next.next = Node(3) root.next.next.next = Node(4) // у последнего next равен null root.next.next.next.next // null Список при этом может быть динамический, так как достаточно хранить ссылку токо на первый элемент, до осталь...

👁 2.5K📷 photo
Aandroid_under_the_hood
android_under_the_hood
21 окт., 13:50

Хэш-таблицы, часть I. Бывают ситуации когда нужно хранить какое-то значение на основе определенного ключа и не просто хранить, а еще иметь возможность быстро его изменить, например это может быть кэш для картинок или загруженных файлов: // храним картинки в кэше, в качестве ключа используется адрес val imageCache = mutableMapOf<Uri, Bitmap>() // храним файлы в кэше, в качестве ключа также используется адрес val downloadCache = mutableMapOf<Uri, File>() Для реализации подобной структуры данных ча...

👁 2.4K

Типы хуков

Нейтральный13 | 2.3K просм.
Вопрос3 | 3.1K просм.

Длина постов

Очень длинные (1000+)13 | 2.6K просм.
Средние (200-500)2 | 1.6K просм.
Длинные (500-1000)1 | 2.1K просм.

Типы контента

📷
6
photo
2.7K просм.
📝
10
text
2.2K просм.
Android under the hood (@android_under_the_hood) — Telegram-канал | PostSniper