TGViewer
Flutter Pulse Flutter Pulse @flutterpulse · 1.01K subscribers
Post #2927 341
Сборщик мусора в Dart: что это такое и почему это важно

Вы когда-нибудь задумывались, как язык программирования Dart управляет памятью и удаляет ненужные объекты? 🤔 Это тема, которая часто обсуждается на собеседованиях, но найти простые и понятные объяснения этой концепции довольно сложно. В этой статье мы попытаемся объяснить, что такое сборщик мусора в Dart, и почему это важно для практики.

Память компьютера можно представить как ряд ячеек, каждая из которых содержит бит (0 или 1). Процессоры работают с группами битов, и в случае 64-битных процессоров, это группы по 64 бита (8 байт). Указатель в Dart занимает 8 байт, что соответствует одному машинному слову. Указатель - это не сам адрес, а место, где этот адрес записан. Например, листок с адресом дома является указателем, а то, что на нем написано, - это и есть адрес 🏠.

Адрес может ссылаться не только на объект, но и на другие данные, такие как числа. В Dart, если значение является числом, оно хранится прямо в указателе, а если это объект, то необходимо сходить по адресу и найти объект. Последний бит в адресе играет важную роль, он указывает, является ли значение в указателе ссылкой на объект или числом. Если последний бит равен 1, то это ссылка на объект, если 0 - то это число 📝.

В Dart есть специальный тип данных - smi (small integer), который представляет собой число, умещающееся в указателе. Smi не занимает места в памяти напрямую, живет прямо в указателе, и не требует поиска по адресу. Однако сам указатель занимает 8 байт, поэтому можно считать, что любое smi занимает 8 байт 📊.

Читать здесь: ссылка


FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #flutterpulsehabr #сборщикмусора #память #dartlang
More from @flutterpulse
  1. Oct 2, 2026Обновлённые пакеты за последние 24 часа Pigeon 29.0.6 Генератор кода для связи Flutter с н…
  2. Oct 2, 2026photo post
  3. Oct 1, 2026Обзор пакетов на тему Rich Text, Markdown & HTML Editor appflowy_editor 6.2.0 Высоконастра…
  4. Oct 1, 2026Обновлённые пакеты за последние 24 часа jnigen 1.0.1 Инструмент для вызова Java API из Dar…
  5. Oct 1, 2026photo post
  6. Sep 30, 2026Как теплотехник в 50 лет стер границу между КИПиА и IT: пишем универсальный Android‑SCADA…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →