You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Чтобы на iOS не было проблем с обращением к Kotlin объектам на разных потоках, есть расширение, которое фризит результаты перед возвратом на платформу.
Привет!
Сам подход к утечкам привести не должен. Если утечки и возникнут то по другим причинам (чаще всего циклы с участием swift объектов этому виной - если цикл состоит из объектов созданных самим котлином то сборщик мусора это заметит и почитстит, а вот при участии свифтовых объектов сборщик не справится - нужны слабые ссылки в правильных местах).
гарантированная заморозка перед передачей на платформу несет явную пользу - не надо задумываться о том что объект полученный с котлина нельзя на другие потоки кидать, а с данной реализацией можно кидать объект по потокам и все будет ок. главное чтобы интерфейс этих объектов не содержал никаких возможностей для редактирования (то есть иммутабельные классы использовать как результаты) - иначе если кто-то с натива дернет метод редактирования то получит креш о попытке мутировать замороженный объект
Для общения с KMM кодом используем прокладку в виде типа, который похож на cold Single Rx тип.
https://gist.github.com/d249f04577a72fae3874b08b31a2c39f
Чтобы на iOS не было проблем с обращением к Kotlin объектам на разных потоках, есть расширение, которое фризит результаты перед возвратом на платформу.
https://gist.github.com/41d9bf9a1f7e2d3c2993997a5888ac9f
Есть ли какие-то подводные камни, что это может привести к утечкам памяти или другим проблемам? Спасибо за ответ.
The text was updated successfully, but these errors were encountered: