Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android getApplicationContext(),getBaseContext(),getApplication(),getParent()_Android_Android Context - Fatal编程技术网

Android getApplicationContext(),getBaseContext(),getApplication(),getParent()

Android getApplicationContext(),getBaseContext(),getApplication(),getParent(),android,android-context,Android,Android Context,以下两者之间的区别是什么: getApplicationContext() getBasecontext() getApplication() getParent() 你能用一个简单的例子详细说明一下吗 getApplicationContext()应用程序上下文与应用程序关联,并且在整个生命周期中始终相同 不应使用getBasecontext(),只需使用Context,而不要使用与活动关联且在活动销毁时可以销毁的上下文。getApplicationContext()应用程序上下文与应用程序关

以下两者之间的区别是什么:

  • getApplicationContext()
  • getBasecontext()
  • getApplication()
  • getParent()

  • 你能用一个简单的例子详细说明一下吗

    getApplicationContext()
    应用程序上下文与应用程序关联,并且在整个生命周期中始终相同


    不应使用
    getBasecontext()
    ,只需使用
    Context
    ,而不要使用与活动关联且在活动销毁时可以销毁的上下文。

    getApplicationContext()应用程序上下文与应用程序关联,并且在整个生命周期内始终相同

    getBasecontext()不应使用,只需使用上下文而不是与活动关联的上下文,当活动被销毁时,上下文可能会被销毁

    getApplication()仅对活动和服务可用。尽管在当前的Android活动和服务实现中,getApplication()getApplicationContext()返回相同的对象,但不能保证总是这样(例如,在特定的供应商实现中)。 因此,如果您想要在清单中注册的应用程序类,则千万不要调用getApplicationContext()并将其强制转换为应用程序,因为它可能不是应用程序实例(您显然在测试框架中体验过)


    getParent()如果当前视图是子视图,则返回活动的对象。换句话说,在子视图中调用时返回承载子视图的活动对象

    关于getApplication()和getParent()的情况如何?请详细说明定义相同的内容,正如您所提到的,我们不应该使用getBaseContext(),如果它不是那么重要,那么为什么它在编码中,以及它的主要优点是什么。请详细说明在非常特定的情况下应该使用GetBaseContext()。这里有一个很好的解释-