tgoop.com/android_live/653
Last Update:
Операторы shareIn и stateIn
#kotlin #flow
Операторы позволяют конвертировать cold flow в hot flow: они могут передавать информацию, которая приходит от потока и транслировать её нескольким подписчикам.
Эти операторы используются, если требуется улучшить производительность, добавить буфер, если нет подписчиков, ну или добавить механизм кэширования.
Между shareIn и stateIn по сути, существует только одна разница: первый преобразует Flow
в SharedFlow
, а второй — в StateFlow
.
Вот хорошая статья, которая детально описывает применение этих операторов на примерах.
Главное запомнить, что никогда не стоит использовать эти операторы при возвращении Flow
из функции: в этом случае у вас будет создаваться новый SharedFlow
или StateFlow
при каждом вызове функции, и он будет оставаться в памяти до тех пор, пока не очистится Scope или GB не уберёт его при отсутствии ссылок. В любом случае, это поведение неверное.
BY Android Live 🤖

Share with your friend now:
tgoop.com/android_live/653