Bom dia a todos
Eu to fazendo um projeto pessoal de aplicativo, e nele estou utilizando o Hilt para injeção de depedências e o View model para o gerenciamento de estados e integração do ui com regra de negócio.
eu precisava do contexto para um toast para mostrar a mensagem e tentei utilizar o Hilt para pegá-lo:
@HiltViewModel
class CadastrodeBolasViewModel @Inject constructor(
private val repositorio: MundoBolaRepositorio,
@ApplicationContext private val context: Context,
) : ViewModel() {//resto do código omitido
context.mensagemDeAviso("Bola cadastrada com sucesso")
Mas na propertie de context aparece uma mensagem de warning em cima dele:
This field leaks a context object
Eu pesquisei e apareceu esse fórum
Alguns falam que não tem vazamento, tem gente que fala que é interessante trocar o jeito de pegar o contexto para evitar isso. Eu fiz assim:
@HiltViewModel
class CadastrodeBolasViewModel @Inject constructor(
private val repositorio: MundoBolaRepositorio,
private val application: Application,
) : ViewModel() {//resto do código omitido
application.applicationContext.mensagemDeAviso("Bola cadastrada com sucesso")
A minha dúvida é: porque esse vazamento seria ruim para o aplicativo?
E se realmente isso é um problema, ou podemos ignorar esse alerta?
Ps: se quiserem dar uma olhada, esse é o link do meu projeto. Lembrando que ele está em fase inicial e ele ainda vai crescer bastante com o tempo