TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #32 · 7 фев.

Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять: from timeit import timeit def t1(): # складываем 10 строк через + из переменной t = 'text' for _ in range(1000): s = t + t + t + t + t + t + t + t + t def t2(): # склеиваем список строк через метод join arr = ['text'] * 10 for _ in range(1000): s = ''.join(arr) def t3(): # складываем через + но не из переменной а непосредственно инлайн объекты for _ in range(1000): s = 'text' + 'text' + 'text' + ... # всего 10 раз Теперь каждую строку склейки запустим по 10М раз >>> timeit(t1, number=10000) 0.21951690399964718 >>> timeit(t2, number=10000) 1.4978306379998685 >>> timeit(t3, number=10000) 0.2213820789993406 Хм, а нам говорили что через "+" это плохо и медленно ))) 😁 Тут стоит учитывать, что речь идёт о склейке множества длинных строк. Давайте изменим условия: def t4(): t = 'text'*100 for _ in range(1000): s = t + t + t + t + t + t + t + t + t def t5(): arr = ['text'*100] * 10 for _ in range(1000): s = ''.join(arr) def t6(): for _ in range(1000): s = 'text'*100 + 'text'*100 + ... # всего 10 раз >>> timeit(t4, number=10000) 12.795130728000004 >>> timeit(t5, number=10000) 2.642637542999182 >>> timeit(t6, number=10000) 0.2184546610005782 Вот, уже другой разговор, сразу видна разница, в среднем в 6 раз. Но погодите, почему последний тест t6() по скорости такой же как и t3()? Ведь строки теперь в 100 раз длиннее! Это вопросы оптимизации кода, какие простые изменения ускоряют или замедляют выполнение программы. Мы столкнулись с примером обхода обращения к переменной. Например, именно так работает директива #define в С++, во время компиляции подставляя значение переменной вместо ссылки на неё. В Python это тоже работает, но часто ли вы сможете встретить такой способ работы со строками? К сожалению, способ почти только теоретический. В целом, тесты показали то, что мы хотели. Делаем выводы самостоятельно. Полный листинг 🌍 #tricks

Резултати

Пронајдени 105 слични објави

Пребарај: #compose

当前筛选 #compose清除筛选
Android Broadcast

@android_broadcast · Post #9948 · 06.04.2026 г., 18:22

HotSwan - быстрое обновление Composable на реальном устройстве. Доступно как плагин для Android Studio Я выбрал другой путь - делаю СMP проект с поддержкой Android + Desktop JVM и так можно быстро проверять + делать код чище. #Compose

Hashtags

Android Broadcast

@android_broadcast · Post #9688 · 24.11.2025 г., 06:11

⚙️ Команда Compose добилась плавности скрола как в View на Android. Источник тут #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9517 · 19.09.2025 г., 06:02

⚙️ Нашел сайт с демонстрацией того как происходит рекомпозиция с примером хороших и плохих практик Как была сделана реализация написали в статье, а исходники есть на GitHub #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9229 · 03.06.2025 г., 11:37

Серия статей с разборами лучших практик для Jetpack Compose: 1️⃣5 Core Optimizations Every Developer Should Know (EN, 5м, альт. ссылка) 2️⃣5 Advanced Techniques for Ultra-Smooth Apps (EN, 8м, альт. ссылка) 3️⃣The Expert’s Toolkit (EN, 8м, альт. ссылка) 4️⃣Runtime Mastery & Fine-Tuning (EN, 8м, альт. ссылка) #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9138 · 16.05.2025 г., 03:43

⚙️ Нужно ли проставлять аннотации @Stable и @Immutable сразу при написании кода? 🤔 Мой ответ — НЕТ! Не стоит заниматься преждевременной оптимизацией. Пишите UI без оглядки на аннотации стабильности, а затем используйте инструменты анализа, чтобы определить, где действительно возникают лишние рекомпозиции и есть смысл оптимизировать типы. Как анализировать рекомпозиции и пропуски? 👉 Используйте Layout Inspector в Android Studio (подробнее — в этом посте) 👉 Включайте отслеживание работы composable-функций в System Trace 👉 Можно воспользоваться библиотекой Compose Investigator, чтобы получать детальные логи по рекомпозициям ‼️Важный нюанс: Если вы используете типы из внешних библиотек или из модулей, где не подключён Compose Compiler, такие типы всегда считаются Unstable. Это может приводить к лишним рекомпозициям. 🚀Strong Skipping Mode действительно упростил жизнь разработчикам, но старайтесь передавать в параметры Сomposable-функций только Stable или Immutable типы. Это позволит максимально эффективно использовать skipping и сделать UI более производительным. #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9129 · 14.05.2025 г., 15:44

Вышел Coil 3.2.0 Что нового ⬆️ Обновление Kotlin, Compose, Okio, Skiko, Coroutines и др зависимостей до актуальных версий 🛠 Исправление багов 👉 Compose артефакты требуют Java 11 и выше из-за перехода на Compose 1.8.0 #compose

Hashtags

Android Broadcast

@android_broadcast · Post #9720 · 04.12.2025 г., 07:35

⚙️Вышел Jetpack Compose 1.10.0 👉 Стабильное API Shared Transition 👉 Оптимизированный скролл 👉 Новые подходы к сохранению данных при пересоздании Activity через ViewModel 🚀 Повышена производительность UI на Compose 🛠 Исправлено багов и шероховатостей Изменений действительно много — в один пост всё не поместить. Буду разбирать ключевые обновления по отдельности в следующих публикациях на @compose_broadcast✨ #compose#android

Android Broadcast

@android_broadcast · Post #9430 · 20.08.2025 г., 12:55

🤖 Как использовать Compose, чтобы сделать анимированный Splash Screen Разработчик создал библиотеку androidx-splashscreen-compose (не от Google решение), которая позволяет делать красивую анимацию как на анимашке. Подробный разбор и реализация есть в статье (EN,6м, альт. ссылка) или 🐱исходниках на GitHub #android#compose

Android Broadcast

@android_broadcast · Post #9412 · 14.08.2025 г., 07:17

⚙️Вышел Jetpack Compose 1.9 Stable (августа 2025) Главные новинки: 👉 Тени нового поколения — dropShadow() и innerShadow() дают больше контроля, чем классический shadow(). 👉 LazyLayout — новый API предзагрузки и кэширования элементов для более плавного скролла. 👉 2D-прокрутка — Scrollable2D для таблиц, карт и больших изображений. 👉 Расширенный stack trace — имена composable и их позиции для отладки в stacktrace (только в debug). 👉 Новые аннотации — @RememberInComposition, @FrequentlyChangingValue и перенос @Stable в отдельный модуль. Подробнее буду рассказывать в @compose_broadcast. Подписывайтесь! #compose#android

Android Broadcast

@android_broadcast · Post #9233 · 05.06.2025 г., 08:54

📹Mastering text input in Compose (EN, 18м) Google выпустили шикарное видео, где показали лучшие практики работы с текстовыми полями в Compose — с примерами, API и лайфхаками. В ролике разработчики на примере рассказывают: 👉 как использовать state-based TextField — новый подход к управлению вводом; 👉 зачем нужен SecureTextField и как задать требования к паролю; 👉 как работает Autofill API (да, теперь можно сохранять логины и OTP); 👉 как кастомизировать поле ввода OTP с помощью BasicTextField и decorator; 👉 как принимать GIF и изображения через drag & drop с новым contentReceiver; 👉 как использовать input/output трансформации для автоподстановки скобок и тире в номерах; #android#compose

Android Broadcast

@android_broadcast · Post #9003 · 24.04.2025 г., 09:06

⚙️ Вышел Jetpack Compose 1.8.0 Все новинки расскажу отдельными постами в @compose_broadcast, а именно: 👉 Autofill 👉 ресайзинг текста под контейне 👉 новое API для отслеживания Composable на экране 👉 анминирование границ Composable 👉 стабилизация API (убрали экспериментальные аннотации) 👉 ContextualFlowRow и ContextualFlowColumn теперь deprecated, им на замену используйте FlowRow и FlowColumn 👉 диалоги теперь учитывают режим экрана edge-to-edge 👉 упростили тестирование ClickableText 👉 появилась возможность кастомизации overscroll Свежий BOM для новых версий implementation(platform("androidx.compose:compose-bom:2025.04.01")) #compose#android

Android Broadcast

@android_broadcast · Post #8883 · 30.03.2025 г., 15:30

⚙️Как работать с Custom Layout в Jetpack Compose (21м) В этой статье вы найдете: 👉 как работают layout-ы в Compose; 👉 изменение layout-а отдельного компонента; 👉 создание кастомных Layout и LazyLayout; 👉 отложенную композицию. Всё это на примерах, в том числе из дизайн-системы Авито. #compose#android

123•••89
ПретходнаСтраница 1 од 9Следна