在Android中,将上下文传递给函数成员不在构造函数或工厂中的ViewModel

在Android中,将上下文传递给函数成员不在构造函数或工厂中的ViewModel,android,mvvm,resources,viewmodel,Android,Mvvm,Resources,Viewmodel,我知道将上下文传递给ViewModel不是最佳做法。但是我想知道在ViewModel中获取一个上下文实例作为函数的局部参数可以吗? 因为在这种情况下,函数使用上下文并在函数结束时释放该上下文引用 请假设我们不想使用AndroidViewModel来获取应用程序上下文 例如: class MyViewModel : ViewModel(){ initColors(context:Context){ //do something with context li

我知道将上下文传递给ViewModel不是最佳做法。但是我想知道在ViewModel中获取一个上下文实例作为函数的局部参数可以吗?

因为在这种情况下,函数使用上下文并在函数结束时释放该上下文引用

请假设我们不想使用AndroidViewModel来获取应用程序上下文

例如:

class MyViewModel : ViewModel(){

     initColors(context:Context){

             //do something with context like getting colors from resourcse
      }

}
碎片:

class Myfrgament:Fragment(){
private val viewModel: LessonFragmentViewModel by viewModels{}
   override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View {

   viewModel.initColors(requireContext())
}
}