全局对象和局部对象的区别[firebase]
Difference between Global object and local object [firebase]
我不知道我是否应该问这个问题,但让我感到困惑的是为什么有些导师将 FirebaseFirestore
设为对象 Global 而另一些 本地。任何人都可以详细说明这两者之间的关系。下面是代码供大家理解。
PS:我知道整个 class 都可以访问全局,但本地不行。
FirebaseFirestore 的全局对象:
public class MainActivity extends AppCompatActivity {
//Global object db.
FirebaseFirestore db = FirebaseFirestore.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//rest of the code.
}
}
FirebaseFirestore 的本地对象:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//local object
FirebaseFirestore db = FirebaseFirestore.getInstance();
}
});
}
}
一切都取决于您的用例。如果您需要在应用程序的多个位置发出 Firebase 请求,全局对象将为您节省重新初始化的时间和资源 FirebaseFirestore
。而如果你只需要加载一次数据,或者你很少在其他地方使用它,本地对象就可以了。
就我个人而言,我会把它放在全局范围内并在我想要的任何地方使用它而不必担心它的范围
我不知道我是否应该问这个问题,但让我感到困惑的是为什么有些导师将 FirebaseFirestore
设为对象 Global 而另一些 本地。任何人都可以详细说明这两者之间的关系。下面是代码供大家理解。
PS:我知道整个 class 都可以访问全局,但本地不行。
FirebaseFirestore 的全局对象:
public class MainActivity extends AppCompatActivity {
//Global object db.
FirebaseFirestore db = FirebaseFirestore.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//rest of the code.
}
}
FirebaseFirestore 的本地对象:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//local object
FirebaseFirestore db = FirebaseFirestore.getInstance();
}
});
}
}
一切都取决于您的用例。如果您需要在应用程序的多个位置发出 Firebase 请求,全局对象将为您节省重新初始化的时间和资源 FirebaseFirestore
。而如果你只需要加载一次数据,或者你很少在其他地方使用它,本地对象就可以了。
就我个人而言,我会把它放在全局范围内并在我想要的任何地方使用它而不必担心它的范围