Telegram Group & Telegram Channel
Как улучшить отклик приложения: 10 советов от инженеров Apple

Когда приложение реагирует на жесты и касания в режиме реального времени, у пользователей создается положительное впечатление.

Приложения с зависаниями (задержками отклика) или дёрганым поведением на экране разрушают эту иллюзию.

Это заставляет пользователя задуматься, правильно ли работает приложение. Чтобы избежать зависаний и заминок, при разработке и тестировании приложения нужно учитывать следующие приблизительные пороговые значения.

100 мс — это максимальная отсечка для задержек при непосредственном взаимодействии с пользователем. Более короткая задержка редко заметна.

5 мс — это порог для достижения плавного скролла на экране.

Для непрерывного скролла новый фрейм должен быть готов каждый раз при обновлении экрана. На устройствах Apple это может происходить 120 раз в секунду, или каждые 8,3 мс. В зависимости от системных условий и задач в приложении, у вас может не быть полных 8,3 мс для подготовки следующего обновления экрана.

Вот десять советов, которые помогут избежать зависаний и сбоев в приложении, а также несколько инструментов, которые помогут вам обнаруживать и анализировать эти типы проблем с реагированием.

1️⃣ Избегайте зависаний, освобождайте основной поток от работы, не связанной с пользовательским интерфейсом.

2️⃣ Проанализируйте, какие части вашего приложения должны выполняться в основном потоке, а какие нет.

3️⃣ Избегайте слишком большого количества потоков.
Dispatch и OperationQueue поддерживают внутренний пул рабочих потоков, настроенных на емкость и нагрузку устройства. Используйте эти технологии вместо создания собственных фоновых потоков для сохранения баланса.

4️⃣ Избегайте лагов, сводя к минимуму время обновления для view.
Чтобы обеспечить плавную анимацию, которая выглядит как непрерывное движение, устройства Apple обновляют экран до 120 раз в секунду. Когда ваше приложение находится в foreground (на переднем плане, кому как привычнее), код отрисовки в основном потоке должен быть завершен до того, как потребуется следующий фрейм, чтобы избежать пропуска кадров и появления рывков.

5️⃣ Оптимизируйте свое приложение для переменной частоты обновления.
Если ваше приложение напрямую взаимодействует с графической системой, например, когда вы выполняете собственный рендеринг, помните о дисплеях с переменной частотой обновления.

6️⃣ Напишите тесты производительности, чтобы обеспечить быстрое выполнение кода, привязанного к основному потоку.

7️⃣ Ищите зависания и потенциальные риски, которые могут к этому привести.

8️⃣ Попробуйте найти сами причины зависаний. Обратите внимание на Thread State Trace instrument.

9️⃣ В целом чаще используйте Instruments для обнаружения узких мест приложения.

🔟 Уделяйте внимание метрикам и отчётам непосредственно от приложения.

@iOS Dev — делюсь советами не только для плавного скролла😅
🔥20❤‍🔥7👍6😁1🤯1



tg-me.com/iosdev/499
Create:
Last Update:

Как улучшить отклик приложения: 10 советов от инженеров Apple

Когда приложение реагирует на жесты и касания в режиме реального времени, у пользователей создается положительное впечатление.

Приложения с зависаниями (задержками отклика) или дёрганым поведением на экране разрушают эту иллюзию.

Это заставляет пользователя задуматься, правильно ли работает приложение. Чтобы избежать зависаний и заминок, при разработке и тестировании приложения нужно учитывать следующие приблизительные пороговые значения.

100 мс — это максимальная отсечка для задержек при непосредственном взаимодействии с пользователем. Более короткая задержка редко заметна.

5 мс — это порог для достижения плавного скролла на экране.

Для непрерывного скролла новый фрейм должен быть готов каждый раз при обновлении экрана. На устройствах Apple это может происходить 120 раз в секунду, или каждые 8,3 мс. В зависимости от системных условий и задач в приложении, у вас может не быть полных 8,3 мс для подготовки следующего обновления экрана.

Вот десять советов, которые помогут избежать зависаний и сбоев в приложении, а также несколько инструментов, которые помогут вам обнаруживать и анализировать эти типы проблем с реагированием.

1️⃣ Избегайте зависаний, освобождайте основной поток от работы, не связанной с пользовательским интерфейсом.

2️⃣ Проанализируйте, какие части вашего приложения должны выполняться в основном потоке, а какие нет.

3️⃣ Избегайте слишком большого количества потоков.
Dispatch и OperationQueue поддерживают внутренний пул рабочих потоков, настроенных на емкость и нагрузку устройства. Используйте эти технологии вместо создания собственных фоновых потоков для сохранения баланса.

4️⃣ Избегайте лагов, сводя к минимуму время обновления для view.
Чтобы обеспечить плавную анимацию, которая выглядит как непрерывное движение, устройства Apple обновляют экран до 120 раз в секунду. Когда ваше приложение находится в foreground (на переднем плане, кому как привычнее), код отрисовки в основном потоке должен быть завершен до того, как потребуется следующий фрейм, чтобы избежать пропуска кадров и появления рывков.

5️⃣ Оптимизируйте свое приложение для переменной частоты обновления.
Если ваше приложение напрямую взаимодействует с графической системой, например, когда вы выполняете собственный рендеринг, помните о дисплеях с переменной частотой обновления.

6️⃣ Напишите тесты производительности, чтобы обеспечить быстрое выполнение кода, привязанного к основному потоку.

7️⃣ Ищите зависания и потенциальные риски, которые могут к этому привести.

8️⃣ Попробуйте найти сами причины зависаний. Обратите внимание на Thread State Trace instrument.

9️⃣ В целом чаще используйте Instruments для обнаружения узких мест приложения.

🔟 Уделяйте внимание метрикам и отчётам непосредственно от приложения.

@iOS Dev — делюсь советами не только для плавного скролла😅

BY iOS Dev


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/iosdev/499

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Telegram today rolling out an update which brings with it several new features.The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations.

Importantly, that investor viewpoint is not new. It cycles in when conditions are right (and vice versa). It also brings the ineffective warnings of an overpriced market with it.Looking toward a good 2022 stock market, there is no apparent reason to expect these issues to change.

telegram from us


Telegram iOS Dev
FROM USA