SharedPreferences — синхронный XML key-value с рисками ANR на commit и не типобезопасный; DataStore (Preferences/Proto) — асинхронный, с Flow/Coroutines, транзакциями и лучшей моделью ошибок.
Разбор
- Не вызывайте apply/commit на main в горячих путях без профилирования.
- Миграция SP → DataStore поддержана официальными хелперами.
- Proto DataStore — схема и type safety для сложных настроек.
- Крупные объекты и списки — в Room/файлы, не в prefs.
Итог
Для нового кода предпочитайте DataStore; SharedPreferences — legacy с осторожностью на main thread.