Android Context

作者: DwMin | 来源:发表于2018-04-12 14:33 被阅读0次

    Application本身就是一个Context

    getApplication(),getApplicationContext()

    getApplicationContext()得到的结果就是MyApplication本身的实例

    getApplication()方法的语义性非常强,一看就知道是用来获取Application实例的,但是这个方法只有在Activity和Service中才能调用的到。那么也许在绝大多数情况下我们都是在Activity或者Service中使用Application的,但是如果在一些其它的场景,比如BroadcastReceiver中也想获得Application的实例,这时就可以借助getApplicationContext()方法了。

    如果真的想要提供一个获取MyApplication实例的方法,比较标准的写法又是什么样的呢?其实这里我们只需谨记一点,Application全局只有一个,它本身就已经是单例了,无需再用单例模式去为它做多重实例保护了,代码如下所示:

    public class MyApplication extends Application {

    private static MyApplication app;  
      
    public static MyApplication getInstance() {  
        return app;  
    }  
    @Override  
    public void onCreate() {  
        super.onCreate();  
        app = this;  
    }     
    

    }

    相关文章

      网友评论

        本文标题:Android Context

        本文链接:https://www.haomeiwen.com/subject/wfgxkftx.html