Re[4]: Linter против WeakReference
От: pva  
Дата: 25.10.23 13:30
Оценка:
Здравствуйте, ·, Вы писали:

pva>>listeners.add(new WeakReference<>(listener));

·>Я надеюсь, это неполный код. Иначе у тебя тут утечка ресурсов — в список что-то добавляется, но никогда не удаляется.
Безусловно, он был бы неполный без unsubscribe и/или периодической чистки от сдохших элементов. Но в данном конкретном случае use-case не предполагает такового. Это синглтон-контейнер, который аггрегирует сигналы своих элементов в одной точке. Подписка идет только при запуске приложения и отписка исключительно при завершении работы.
Насколько я помню деструкторов в джаве нет, а в ондроидах у тебя ОС может вообще без причин грохнуть для экономии электричества и Application не распознает.

pva>>Стандартный линтер из АндроидСтудио. Что-то я про гугление не подумал. Решением оказалось @SuppressWarnings("FieldCanBeLocal")

·>Эээ.. Так ведь там есть intention чтобы suppress warning. Оно само поставит нужную аннотацию в нужное место.
·>https://www.jetbrains.com/help/idea/disabling-and-enabling-inspections.html#suppress-in-editor
Не, в данном случае это не работает. Нет такого элемента в меню.
newbie
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.