Size: a a a

Javanese Questions

2019 April 12

MI

Mukhamed Issa in Javanese Questions
В чем проблема, если утечки нет? :)
источник

ИМ

Игорь Марков in Javanese Questions
как нет если есть
источник

ИМ

Игорь Марков in Javanese Questions
активити висит в foreground и постоянно делает запросы. Они постоянно накапливаются в compositeDisposables
источник

ИМ

Игорь Марков in Javanese Questions
и никогда оттуда не удаляются (говорим только про активити в foreground)
источник

MI

Mukhamed Issa in Javanese Questions
Была бы утечка, если бы там хранились много незаконченных subscriptionов, так как они закончили своё дело, даже в худшем случае утечка будет небольшой.

Если всё же волнует эта проблема, можете удалять disposable в doOnUnsubscribe :)
источник

ИМ

Игорь Марков in Javanese Questions
ну да. судя по всему утечка есть но небольшая и все на нее забили
источник

VS

Valentin Schukin in Javanese Questions
Тут вопрос, что понимать под утечкой.
источник

VS

Valentin Schukin in Javanese Questions
В какой-то момент у тебя все равно это почистится.
источник

ИМ

Игорь Марков in Javanese Questions
но до этого момента это утечка
источник

QH

Quantum Harmonizer in Javanese Questions
Ответ, насколько это утечка, лежит в хип дампах. Disposable вполне может удерживать функции, но данные, кажется,  нет.
источник

QH

Quantum Harmonizer in Javanese Questions
Ну а то, что Disposable не удаляют из Composote, вполне может дать ответ на вопрос, какой технический уровень у авторов статей)
источник

ИМ

Игорь Марков in Javanese Questions
ну вот про тех. уровень я больше склоняюсь. Но не может весь инет ошибаться
источник

ИМ

Игорь Марков in Javanese Questions
тем более метод remove у compositeDisposable есть
источник

QH

Quantum Harmonizer in Javanese Questions
Игорь Марков
ну вот про тех. уровень я больше склоняюсь. Но не может весь инет ошибаться
Может. И ошибается. Десятилетиями.
источник

ИМ

Игорь Марков in Javanese Questions
ну ок. В целом это ответ на мой вопрос. Спасибо :)
источник

MI

Mukhamed Issa in Javanese Questions
В любом случае, можете ради эксперимента раздуть большой compositeDisposable и посмотреть сколько памяти он занимает :)
источник

ИМ

Игорь Марков in Javanese Questions
скорее всего там немного. Хотя конечно посмотреть можно. Да даже если по байту, факт остается - они там навсегда
источник

I

Ildarov in Javanese Questions
Игорь Марков
скорее всего там немного. Хотя конечно посмотреть можно. Да даже если по байту, факт остается - они там навсегда
Чувак, кажется ты мыслишь немного шаблонно и тупо делаешь то что написанно в статье. Если тебе так критично сохранить пару байтиков, то ты можешь выкинуть compositeDisposable и создавать отдельные Disposable для каждого запроса и обнулять эти ссылки при их завершении и кстати если я не ошибаюсь, то Single сам диспосит подписчика при вызове onSuccess(T) или onError(Throwable)
источник

ИМ

Игорь Марков in Javanese Questions
да, обнулять самому наверное правильнее
источник

NI

Nikita Ivanov in Javanese Questions
Ildarov
Чувак, кажется ты мыслишь немного шаблонно и тупо делаешь то что написанно в статье. Если тебе так критично сохранить пару байтиков, то ты можешь выкинуть compositeDisposable и создавать отдельные Disposable для каждого запроса и обнулять эти ссылки при их завершении и кстати если я не ошибаюсь, то Single сам диспосит подписчика при вызове onSuccess(T) или onError(Throwable)
Все верно, сингл сам сделает dispose()
источник