在CookieSyncManager.createInstance中使用应用程序或活动上下文

时间:2011-09-28 22:01:56

标签: android cookies

在CookieSyncManager.createInstance()调用中使用应用程序上下文而不是活动上下文是一个好主意吗?

CookieSyncManager.createInstance(activity.getApplicationContext());

在Facebook的SDK中,它使用活动上下文,我认为这会导致内存泄漏:

CookieSyncManager.createInstance(activity);

所以我决定将它改为CookieSyncManager.createInstance(activity.getApplicationContext());

在这种情况下是否存在使用应用程序上下文的问题?

感谢。

1 个答案:

答案 0 :(得分:3)

老问题,但我只是在寻找同样的事情。

事实证明,您在Context中提供的createInstance()是什么并不重要,因为在内部它只需要提供context并在其上调用getApplicationContext()。所以无论哪种方式,它最终都会使用应用程序上下文。这是source code

我对此感到好奇,因为我不确定CookieSyncManager类是否会同步/保存整个App中的所有Cookie,或者只是创建它的Activity中的那些(如果你只是提供了活动上下文而不是应用程序上下文。但即使知道它在内部使用应用程序上下文后,我仍然不确定这一点。

我真的希望文档更清楚他们想要/期望的上下文级别。