在某些地方,我们给出了类似“DatabaseUtil db=new DatabaseUtil(DailyPlanView.this);” 其中 DatabaseUtil 是类,构造函数参数是上下文。但是,如果我们在 DailyPlanVIew 类中为 DatabaseUtil 类创建对象,我们将使用上面的代码。我的疑问是上下文的用途是什么,而不是传递上下文对象作为我们传递“this”的参数。
问问题
1400 次
1 回答
2
每当您处理 Context 时,了解它在所有事物中的用途很重要。从使用数据库到获取系统服务。这是 android 使用 Context 的方式所必需的。具体来说,当您传递时,this
您基本上传递的是封装此语句的类。
class MyActivity extends Activity
{
onCreate(Bundle bundle)
{
View v = new View(this);
}
}
传递this
是指封装它的对象。这是一个面向对象的概念......在哪里this
引用MyActivity
. 传递上下文时要记住的一件事是确保传递正确的类型。某些 Context 对象的寿命比其他对象长,如果管理不当,可能会导致 Context 泄漏。特别是在这个例子中,这是有效的,因为 Activity 扩展了 Context。
差异出现在 View 类中。
getApplicationContext()
getBaseContext()
this
,在活动的上下文中具有活动的生命周期(上面的示例)
关于 Context 要添加的一件事是,它基本上是对当前应用程序的引用,它是特定数据。
可以在此线程中找到有关上下文的更多信息: Android 上的“上下文”是什么?
于 2012-10-02T05:38:30.027 回答