在CookieSyncManager.createInstance()调用中使用应用程序上下文而不是活动上下文是一个好主意吗?
CookieSyncManager.createInstance(activity.getApplicationContext());
在Facebook的SDK中,它使用活动上下文,我认为这会导致内存泄漏:
CookieSyncManager.createInstance(activity);
所以我决定将它改为CookieSyncManager.createInstance(activity.getApplicationContext());
在这种情况下是否存在使用应用程序上下文的问题?
感谢。
答案 0 :(得分:3)
老问题,但我只是在寻找同样的事情。
事实证明,您在Context
中提供的createInstance()
是什么并不重要,因为在内部它只需要提供context
并在其上调用getApplicationContext()
。所以无论哪种方式,它最终都会使用应用程序上下文。这是source code。
我对此感到好奇,因为我不确定CookieSyncManager
类是否会同步/保存整个App中的所有Cookie,或者只是创建它的Activity
中的那些(如果你只是提供了活动上下文而不是应用程序上下文。但即使知道它在内部使用应用程序上下文后,我仍然不确定这一点。
我真的希望文档更清楚他们想要/期望的上下文级别。