我已阅读What is context on android,但我仍然不清楚以下问题:
每当我在任何构造函数中遇到“ context ”参数时,我都会通过“ 此“关键字会自动而无需考虑。这总是正确的做法吗?
答案 0 :(得分:1)
这意味着“this”关键字是“上下文”的唯一答案 需求。那么这无用的问题是什么?
this
指的是此对象。它适用于您的情况,因为您继承自Activity
Service
ContextWrapper
的继承自getActivity()
如果没有:在哪种情况下以及当a时可能传递的其他对象 构造函数要求“上下文”?
片段是一个示例 - 但它有方法select table_1.id, table_1.userid, table_2.flag
from table_1
left outer join table_2 on table_1.userid=table_2.userid
来检索托管活动
答案 1 :(得分:0)
否强>
此关键字代表当前的类。
Context是android组件,你无法在JAVA核心中找到它。 这个关键字是JAVA的核心部分,它意味着'this和Context'是不同的东西。 实际上,如果您要扩展Context的任何子类,如Activity,AppCompactActivity或FragmentActivity等,您可以使用'this'关键字为Context分配,但不能在任何地方分配。
答案 2 :(得分:0)
假设您从Activity类或继承 Context 的某个Component传递 this 。
有一种情况您无需传递此,而是必须通过getApplicationContext()
。
getApplicationContext()
而不是this或activityContext。
因为,活动引用应该在内存中可用,直到其生命周期。在单例类中传递活动上下文可能会导致内存泄漏。