Я использую метод Observable.zip RxJava для объединения двух вызовов API в один результат. По какой-то причине я получаю утечку памяти, несмотря на то, что я отписываюсь от подписки. Я не уверен, что это ошибка на моем конце, или если есть что-то, что мне нужно сделать с созданием Observable.RxJava Observable Zip вызывает утечку памяти
protected void onCreate(Bundle bundle) {
...
subscription = Observable.zip(
api.getConfiguration(),
api.getSettings().map(r -> r.getData()),
new Func2<ConfigurationResponse, List<Datum>, Struct>() {
@Override
public Struct call(ConfigurationResponse config, List<Datum> data) {
return new Struct(data, config.getCopy(), config.getSettings());
}
}
)
.compose(Schedulers.applyApiSchedulers())
.subscribe(
struct -> {
configurationManager.set(struct.data, struct.copy, struct.settings);
startNextActivity();
},
error -> {
startNextActivity();
}
);
}
protected void onDestroy() {
if (!subscription.isUnsubscribed()) {
subscription.unsubscribe();
}
}
Вот след от утечки канарейки.
Любая помощь будет оценена.
Можете ли вы показать нам источники, api.getConfiguration(), api.getSettings()? –
'api' - это просто интерфейс для доработки, так что на самом деле нет. – trev9065
какая версия модификации? –