В настоящее время я разрабатываю приложение метронома для iOS, используя DispatchSourceTimer в качестве таймера. Интервал установлен очень маленький, около 50 миллисекунд, и я использую CFAbsoluteTimeGetCurrent для расчета затраченного времени, чтобы гарантировать, что бит воспроизводится с точностью до ±0,003 секунды.
Проблема в том, что что при переходе приложения в фоновый режим отсчет времени становится нестабильным — оно заметно замедляется, затем через 1–2 секунды восстанавливается.
При возвращении на передний план внезапно ускоряется, и снова требуется 1–2 секунды, чтобы вернуться в нормальное состояние. Такое ощущение, что приложение случайно «выключается», а затем «разгоняется». Это очень расстраивает.
Я заметил, что некоторые приложения с метрономом в App Store имеют аналогичные проблемы, но есть одно из них под названием «Профессиональный метроном», которое работает без таких проблем. Какую магию они используют? Есть ли здесь специалисты, которые могут помочь? Заранее спасибо!
P.S. Я уже включил разрешения на фоновый звук.
Профессиональный метроном, у которого нет проблем: https://link.zhihu.com/?target=https%3A ... me-%25E4%2 5B8%2593%25E4%25B8%259A%25E8%258A%2582%25E6%258B%258D%25E5%2599%25A8/id477960671
Подробнее здесь: https://stackoverflow.com/questions/793 ... ore-stable
Как сделать таймер iOS более стабильным? ⇐ IOS
Программируем под IOS
1736360896
Anonymous
В настоящее время я разрабатываю приложение метронома для iOS, используя DispatchSourceTimer в качестве таймера. Интервал установлен очень маленький, около 50 миллисекунд, и я использую CFAbsoluteTimeGetCurrent для расчета затраченного времени, чтобы гарантировать, что бит воспроизводится с точностью до ±0,003 секунды.
Проблема в том, что что при переходе приложения в фоновый режим отсчет времени становится нестабильным — оно заметно замедляется, затем через 1–2 секунды восстанавливается.
При возвращении на передний план внезапно ускоряется, и снова требуется 1–2 секунды, чтобы вернуться в нормальное состояние. Такое ощущение, что приложение случайно «выключается», а затем «разгоняется». Это очень расстраивает.
Я заметил, что некоторые приложения с метрономом в App Store имеют аналогичные проблемы, но есть одно из них под названием «Профессиональный метроном», которое работает без таких проблем. Какую магию они используют? Есть ли здесь специалисты, которые могут помочь? Заранее спасибо!
P.S. Я уже включил разрешения на фоновый звук.
Профессиональный метроном, у которого нет проблем: https://link.zhihu.com/?target=https%3A//apps.apple.com/cn/app/pro-metronome-%25E4%2 5B8%2593%25E4%25B8%259A%25E8%258A%2582%25E6%258B%258D%25E5%2599%25A8/id477960671
Подробнее здесь: [url]https://stackoverflow.com/questions/79340375/how-to-make-ios-timer-more-stable[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия