169 похожих чатов

Как вы решаете передачу context'a во ViewModel? потому как подсвечивает This field

leaks a context object

14 ответов

58 просмотров

Из синглтона aplication?

Vadim-Morozov Автор вопроса

то есть каждый раз вызываете его из синглтона в Application'e? и не передаете получается через фабрику и всё такое?

Как правило либо через di передавая context приложения, или попробовать через AndroidViewModel

Vadim-Morozov Автор вопроса

ну так через di я и передаю щас ну то есть есть фабрика и через неё в целом фабрика общая для всех моделей а вот второй кейс хз

В aplication передается viewmodel, а в активити/фрагменте получается через newinstance, которая возвращает viewmodel, если я ничего не путаю.

Vadim-Morozov Автор вопроса

кажется путаете или я не смекну как у вас) viewModel вызывается из фрагмента/активити как минимум а там уже всё пальто не?

Я так понимаю тут больше вопрос почему именно линтер подсвечивает,думаю тут стандартное правило что контекст передавать дальше активити не стоит и он за это бьёт, если передаешь контекст приложения то беспокоиться не стоит, если активити, то лучше сделать через приложение чтобы контекст не утекал. Относительно того как его передавать то в любом случае в вьюмодель это фабрика, а как уже в фабрику передавать вопрос реализации относительно di и прочего, как вариант можешь ещё наследовать не ViewModel, а AndroidViewModel и из конструктора получить app.

Vadim-Morozov Автор вопроса

ну пожалуй да единственное что не помню почему исторически ушли от AndroidVIewModel и перешли к ViewModel помню какие то причины точно были

Сейчас посмотрю пример по которому делал, отпишусь.

Это пример из книги андроид, программирование для профессионалов

Хреновый пример, не для профессионалов)

Есть другие примеры?😊

Ну можно App.getContext() Получится типа ServiceLocator

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта