有多少' context'我们可以同时使用不同的任务吗?

时间:2017-12-12 05:13:55

标签: android

在Android编程中,我们可以在不同的时间使用多少context     同时执行线程异步任务?

您可以通过不同的调用方法获取上下文

  1. getApplicationContext()
  2. getContext()
  3. getBaseContext()
  4. this(在活动课程中时)。
  5. 同时检查:

    When to call activity context OR application context?

    如果我同时运行多个线程,那么可以在所有这些中传递getApplicationContext()或者会发生一些问题吗?

3 个答案:

答案 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()