Сегодня нашёл интересный блог. В Android 11 заимплементировали IORap — это префетч всех файлов, которые часто использовались приложением.
Идея очень простая — при загрузке приложений заметили, что время его запуска сильно упирается в I/O. В итоге это оказывается большим полем для оптимизации — давайте посмотрим какие файлы/inode были загружены и по каким оффсетам через Linux трассировщик типа perfetto. Далее при каждом запуске сканируем файловую систему и пытаемся открыть определённые файлы (сканирование неизбежно, так как многие приложения переименовывают те же файлы).
В итоге получили 5-8% улучшения стартового времени большинства приложений, с 20% ускорением в очень популярных таких как YouTube, Spotify
Я лично заметил с обновлением Android 11 на своём Pixel 3 ускорение, но думал, что это просто поработали над memory management или обновили ядро/компилятор
https://medium.com/androiddevelopers/improving-app-startup-with-i-o-prefetching-62fbdb9c9020
Идея очень простая — при загрузке приложений заметили, что время его запуска сильно упирается в I/O. В итоге это оказывается большим полем для оптимизации — давайте посмотрим какие файлы/inode были загружены и по каким оффсетам через Linux трассировщик типа perfetto. Далее при каждом запуске сканируем файловую систему и пытаемся открыть определённые файлы (сканирование неизбежно, так как многие приложения переименовывают те же файлы).
В итоге получили 5-8% улучшения стартового времени большинства приложений, с 20% ускорением в очень популярных таких как YouTube, Spotify
Я лично заметил с обновлением Android 11 на своём Pixel 3 ускорение, но думал, что это просто поработали над memory management или обновили ядро/компилятор
https://medium.com/androiddevelopers/improving-app-startup-with-i-o-prefetching-62fbdb9c9020