@thekiba очень важный вопрос про shareReplay. Как не потерять кэширование, но при этом отписаться во время?
Если у нас есть только размер буфера, то подписка висит даже, если мы отписались
Ты можешь сделать свой оператор, который будет отпускать подписку, если ей не пользуются какое-то время.
У меня сделано примерно так. Я не отпускаю подписку сразу после отписки, а держу ее еще либо 60 секунд, либо считаю счетчик других подписок (предположим 100).
Если сделали отписку, и если подписались на 100 других подписок или если прошло 60 секунд, то я отпускаю подписку.
Это просто к примеру как может быть. Но самое главное, чтобы они не висели просто так в памяти, ибо зачем