我是安卓新手...
我不得不面对context
有时让我感到困惑的课堂的最大时间。在它使用context
的某个地方,它被 getApplicationContext()
, getContext()
,调用的某个地方getBaseContext()
。
我试图从这个网站http://www.developer.android.com/让我了解它 ,但很难理解。
我是安卓新手...
我不得不面对context
有时让我感到困惑的课堂的最大时间。在它使用context
的某个地方,它被 getApplicationContext()
, getContext()
,调用的某个地方getBaseContext()
。
我试图从这个网站http://www.developer.android.com/让我了解它 ,但很难理解。
在 Android 上,上下文用于许多操作,但主要用于加载和访问资源。这就是所有小部件在其构造函数中接收 Context 参数的原因。在一个普通的Android应用中,你通常有两种Context,Activity和Application。它通常是开发人员传递给需要 Context 的类和方法的第一个:
您可以通过调用 getApplicationContext()、getContext()、getBaseContext() 或 this(在活动类中时)来获取上下文。
上下文的典型用法:
创建新对象:创建新视图、适配器、监听器:
TextView tv = new TextView(getContext()); ListAdapter 适配器 = new SimpleCursorAdapter(getApplicationContext(), ...);
访问标准公共资源:LAYOUT_INFLATER_SERVICE、SharedPreferences 等服务:
context.getSystemService(LAYOUT_INFLATER_SERVICE)
getApplicationContext().getSharedPreferences( name , mode );
隐式访问组件:关于内容提供者、广播、意图
getApplicationContext().getContentResolver().query(uri, ...);
使用上下文时必须小心,因为维护它会导致内存泄漏
总之,要避免与上下文相关的内存泄漏,请记住以下几点: