Ответ
Да, сборщик мусора (GC) может собрать объект с висящей подпиской, если на него больше нет сильных ссылок. Однако это может привести к утечкам памяти, если подписка не отписана.
Пример с RxJava:
val disposable = Observable.interval(1, TimeUnit.SECONDS)
.subscribe { /* обработка */ }
// Если disposable не сохранить и не отписаться,
// поток продолжит работать, но GC может собрать его,
// когда на него не будет ссылок
Рекомендации:
- Всегда отписывайтесь от подписок (Disposable.dispose(), CompositeDisposable)
- Используйте WeakReference для подписок, если нужно автоматическое освобождение
- Для жизненного цикла Android используйте Lifecycle-aware компоненты (AutoDispose)