ли я понял назначение интерфейсов? https://pastebin.com/gi51tT5C
могу сказать что тут все намешано
А почему методы прямо в интерфейсе не реализовать?
а студия все равно заставит оверрайдить, нет? к тому же, в каждом классе реализация отличается именем файла
Ну я имею в виду в реализации ты вызываешь метод из companion, почему сразу туда этот метод не положить
(а для чего это нужно? для красоты?...) а где я в интерфейсе имя файла возьму?
А, стоп, вообще можно методы getter и setter положить в абстрактный класс, а потом его унаследовать и уже вызывать эти методы
А ещё что за переменная ACTIVITY_CONTEXT? Откуда она? Если она статик, то это же утечка памяти
да и целиком активити в компаньоне тоже звучит точно так же
Это не активити, оно не наследует активность, просто он так назвал)
да, глобальная она. утечку щас исправлю, спасибо)
Можно Application Context туда прокинуть, с ним утечек нету, ну или при инициализации контекст обычной активности, главное чтобы не static была
можно. но иногда требуется именно контекст активности, и тогда придется делать велосипед и передавать контекст по всему проекту где это надо
это статик в котлине, да? если в корне файл
Нет. Если в companion object или в object классе, то да
Контекст целый
значит не статик 😃
Просто AbstractValueManager(private val context: Context) сделай
а так все верно?
Ну разве что названия методов и переменных странные, а так да, норм
согласен, делал первое что приходило в голову)
Да, это статика. Если байт код преобразовать обратно в джава, то то увидите класс с похожим названием, в котором эта статическая функция. Котлин это все прячет и преподносит статику по своему
нет, не увидим. если не поставить @JvmStatic. Так то это просто синглтон.
Факт в том что это утечка, так как доступно отовсюду , кто угодно может держать ссылку на контекст
я не распарсил о чем был разговор и претензия была к тому, что это якобы "статики"
Они туда контекст активити воткнули и говорят что утечка только если object. А я на деле не вижу разницы между синглтоном и статикой
ну разница есть, обджект генерит лишний код для thread-safety. но в поведении в принципе ничего не меняется.
А я вот думал что статика потокобезопасна
Обсуждают сегодня