我在谷歌上搜索了很多这个问题,并发现了很多关于何时使用getBaseContext、getApplicationContext或 Activity 自己的this指针的不同建议。
经常出现并且似乎很有意义的三个规则是 -
- 对于上下文活动的长期引用 ,只要您的应用程序存在,就应该使用getApplicationContext
- 对于生命周期与其活动绑定的上下文,应该使用它们自己的活动上下文( this )
- 仅在非常谨慎的情况下静态存储上下文指针(如果可能,根本不要)
假设这些都是正确的,那么getBaseContext有什么用?
我已经看到了很多使用创建新意图的示例 -
Intent intent = new Intent(getBaseContext(), myClass.class);
相对于——
Intent intent = new Intent(this, myClass.class);
哪种方法是正确的或推荐的方法,为什么?