Выделяет ли тот же слушатель к элементу управления / свойству дополнительную память для места слушателя? - PullRequest
0 голосов
/ 22 мая 2018

При создании слушателя, например:

InvalidationListener progressListener = new InvalidationListener() {
    public void invalidated(Observable o) {
        updateValues();
    }
};

и последующем добавлении слушателя несколько раз к одному и тому же экземпляру / свойству, например:

model.getMediaPlayer().currentTimeProperty().addListener(progressListener);

Поскольку model.getMediaPlayer() изменяется и может ссылатьсяназад тот же, на который ссылались ранее.Будет ли добавление того же слушателя, progressListener в этом случае, вызвать какие-либо проблемы, такие как утечка памяти?

1 Ответ

0 голосов
/ 22 мая 2018

Если вы создаете прослушиватель один раз, а затем добавляете его несколько раз, объем используемой памяти крошечный.Однако крошечные, выделенные много-много раз, могут сложить.Слушатели являются потенциальным источником утечек, но обычно, когда каждый раз создаются новые экземпляры.Сомневаюсь, что источник вашей утечки, учитывая то, что вы описали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...