如何找到观察 LiveData 的位置

How to find where a LiveData is observed

我正在 Android Studio (Java) 上使用 LiveDatas 研究一个项目。我想知道它是否存在一个 Android Studio 选项来查看在项目中观察到特定 LiveData 的位置,查看所有被通知的对象以及在哪种方法中。

您可以通过在 在路径中查找 (cmd + shift + f in Mac):

中键入 .observe 来访问

样本实时数据观察:

viewModel.liveData.observe(this, Observer {})

你不能那样做。 Android 工作室不能给你这样的 "runtime" 信息。您可以做的最好的事情是,如果有活跃的观察者,则调用 LiveData 的 hasActiveObservers() returns true,或者如果有任何观察者,则调用 hasObservers() returns true。

对我来说,最好的解决方案似乎是找到特定的用法 viewModel的LiveData的getter方法,然后看get后观察到LiveData的时间。