Как стать автором
Обновить

Осторожно, Combine! Откуда берутся утечки памяти, потеря эвентов, нестабильность операторов и что с этим всем делать

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров3.7K
Всего голосов 17: ↑17 и ↓0+22
Комментарии2

Комментарии 2

Очень полезная статья, @Kn1kt , спасибо!

Вопрос про еще один баг Combine,  были ли у вас проблемы с throttling на serial queue?
Очень редко получаю краш, но не получется пофиксить, может есть какой либо опыт?

По поводу багов Future, хорошо написано тут :
https://forums.swift.org/t/easy-to-reproduce-combine-crash-involving-future-and-concurrency-memory-leak/36334/23?page=2

Спасибо за ссылку. Про Future действительно много всего нехорошего пишут, поэтому советую всегда использовать вместо него AnyPublisher.create(_:).

Насчет throttle(for:scheduler:latest:) - не знаю, не встречались с проблемами связанными с этим оператором. Единственное о чем читал, это о том что отсутствие ранлупа на используемой очереди может его поломать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий