假设Application中的getApplicationContext和AbstractThreadedSyncAdapter中的getContext返回相同的对象是否安全?我们从活动,服务获取上下文的其他情况怎么样....都属于同一个应用程序。感谢。
答案 0 :(得分:3)
不,他们不是。这是jist:
应用程序 - 是在您的应用程序中运行的单例实例 处理。它可以通过getApplication()等方法访问 活动或服务,以及来自任何其他对象的getApplicationContext() 继承自Context。无论它在哪里或如何 访问过,您将始终从您的内容中收到相同的实例 过程
Activity / Service - 从ContextWrapper继承,实现 相同的API,但代理所有方法调用隐藏的内部 上下文实例,也称为其基本上下文。每当 框架创建一个新的Activity或Service实例,它也创建 一个新的ContextImpl实例,可以完成所有繁重的任务 组件将包装。每项活动或服务,以及他们的 相应的基本上下文,每个实例都是唯一的。
这篇文章确实有助于清除它:https://possiblemobile.com/2013/06/context/