为什么方法 getContenResolver() 是 Context class 的一部分?

Why is the method getContenResolver() a part of the Context class ?

方法 getContentResolver()Context class 的一部分,我想知道的是为什么它不是 ContentResolver class ?

为什么 getContentResolver() 需要上下文?

what I would like to know is that why is it not a part of the ContentResolver class ?

您不能将 getContentResolver() 作为 ContentResolver 上的实例方法,因为您最终会陷入循环状态(您如何获得 ContentResolver 来调用 getContentResolver()).

他们本可以在 ContentResolver 上实施名为 getContentResolver(Context)static 方法。他们选择不这样做。询问 "why?" 十多年前由不关注 Stack Overflow 的人做出的实施决定是不切实际的。

Why does a getContentResolver() need a Context ?

在幕后,ContentResolver 所做的大部分工作都涉及到 ContentProvider 进程的 IPC。反过来,这需要一个 Context,用于绑定之类的事情。 Context 也用于获得 PackageManager.