2023-02-21 12:02:20
Мы ускорили синхронизацию в приложении для Flipper Zero на порядок
Синхронизация - это важнейший процесс в приложении для Flipper Zero на ряду с обновлением. Без неё взаимодействовать с ключами флиппера в приложении нельзя - эмулировать, делиться ими, редактировать или просматривать.
Раньше пользователи ждали десятки секунд или даже минуты на каждом запуске приложения. Пользователи в шутку называли нас "приложение-спиннер". Это происходило из-за физических ограничений BLE.
Теперь мы с командой прошивки ускорили скорость синхронизации на второй и последующий запуск приложения до почти мгновенной. На прикреплённом видео в одних и тех же условиях синхронизация проходит
01:14 cекунд вместо 11:18 секунд. Т.е ускорение более чем в
10 раз. На большем количестве ключей результат будет лучше.
Мы это сделали благодаря двум оптимизациям:
- Теперь можно получить время обновления хранилища на флиппере. Таким образом мы не проводим синхронизацию если файлы не изменились
- Раньше мы делали один гигантский запрос на флиппер для того чтобы получить базовую информацию о нем - теперь лишняя информация не запрашивается и запрос происходит быстро. Нам потребовался большой рефакторинг для этого
Версия 1.4.2 ещё не вышла, сейчас мы заканчиваем рефакторинг, потом отдадим версию QA и только после этого версия будет доступна всем пользователям
1.0K views09:02