在Android编程中,我们可以在不同的时间使用多少context
同时执行线程或异步任务?
您可以通过不同的调用方法获取上下文
getApplicationContext()
,getContext()
,getBaseContext()
this
(在活动课程中时)。同时检查:
When to call activity context OR application context?
如果我同时运行多个线程,那么可以在所有这些中传递getApplicationContext()
或者会发生一些问题吗?
答案 0 :(得分:1)
是的,您可以传递getApplicationContext()
任意数量的时间(后台任务),getApplicationContext()
只返回应用程序的context
。
答案 1 :(得分:0)
你可以找到很多关于上下文使用, Link
之间差异的答案每个context
方法都有一定的限制使用它。
如果您只想使用 One方法或仅使用单向来初始化整个Activity
中的某些方法。
然后将Context
声明为全局,如下所示,它在Activity
中没有限制。
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
private Activity thisActivity; //Activity object instance
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
thisActivity = this; // Initialise with this(Context)
//Or thisActivity = MainActivity.this;
}
}
使用thisActivity
代替Context
答案 2 :(得分:0)
是的,您可以在任意时间内传递shopt -s extglob
,getApplicationContext()
只需返回应用的getApplicationContext()
。