为什么文档不使用 `this` 即 `Service` 作为文档中 `Context` 的参数?

Why does the doc do not use `this` i.e `Service` for the argument for `Context` in the documentation?

如果不使用 ServiceContext 继承有什么用?

例如来自 android docs for sync adapter
我们看到:

public class SyncService extends Service {
    // Storage for an instance of the sync adapter
    private static SyncAdapter sSyncAdapter = null;   

    // etc  

    sSyncAdapter = new SyncAdapter(getApplicationContext(), true);

所以它不会在 SyncAdapter 的构造函数中传递 thisgetApplicationContext.
那么为什么 this 在文档中没有作为 Context 传递?那么 ServiceContext 继承有什么意义呢?

So why is not this passed as Context in the docs?

因为 SyncAdapter 实例保存在 static 字段中:

private static SyncAdapter sSyncAdapter = null;   

static 字段是故意的内存泄漏:您在该字段中保存的任何内容都不能被垃圾回收,对于该对象引用的任何内容也是如此。

getApplicationContext() returns Application 对象。这是一个单例,在您的进程分叉时设置。因此,它是“预泄漏”的——您不能通过对它的 static 引用来进一步泄漏它。

由于 SyncAdapter 实例保存在 static 字段中,因此我们传递给 SyncAdapter 构造函数的任何 Context 都可能被泄露——无论是否会泄露与 SyncAdapter 的实施相关,这可能因 OS 版本或制造商干预而异。因此,为了安全起见,文档对 Context 使用 Application 单例,而不是冒泄漏 SyncService 实例的风险。

So why is not this passed as Context in the docs?

因为这可能会通过 sSyncAdapter 字段泄漏 SyncService 实例。