为什么我们在Android的构造函数中使用应用程序上下文?
在使用Room数据库时,我发现像Repository和ViewModel这样的类在其构造函数中使用应用程序上下文作为参数 我只是想知道原因,为什么会这样? 使用应用程序上下文是一种强迫吗为什么我们在Android的构造函数中使用应用程序上下文?,android,android-room,Android,Android Room,在使用Room数据库时,我发现像Repository和ViewModel这样的类在其构造函数中使用应用程序上下文作为参数 我只是想知道原因,为什么会这样? 使用应用程序上下文是一种强迫吗 public WordViewModel (Application application) { super(application); mRepository = new WordRepository(application); mAllWords = mRepository.getAllW
public WordViewModel (Application application) {
super(application);
mRepository = new WordRepository(application);
mAllWords = mRepository.getAllWords();
}
WordRepository(Application application) {
WordRoomDatabase db = WordRoomDatabase.getDatabase(application);
mWordDao = db.wordDao();
mAllWords = mWordDao.getAllWords();
}
想知道这些东西背后的原因吗
请看让我给你一个懒散的答案来回答这个问题。应用程序上下文生命周期与应用程序的生命周期相关联,而活动上下文与该活动的生命周期相关联。确保使用正确的上下文来防止内存泄漏。希望这有助于您对库的内部工作方式感兴趣。那很好。也就是说,在提出这个问题之前,您是否已经在源代码中查找了文档?(编辑:你可以按住alt键并点击Android Studio中的一个函数来导航到源代码)如果问题是好的,为什么它是向下的???