Re[5]: Linter против WeakReference
От: · Великобритания  
Дата: 25.10.23 13:36
Оценка: 2 (1)
Здравствуйте, pva, Вы писали:

pva>·>Я надеюсь, это неполный код. Иначе у тебя тут утечка ресурсов — в список что-то добавляется, но никогда не удаляется.

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

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

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