我正在编写一个Android应用程序,其中一些功能被封装在一个内部库中。 然而,为了使这些功能正常工作,该库需要应用程序上下文的实例。 给库提供上下文的最佳方法是什么? 我看到了几个选项,但都不太理想:
- 让我的库类扩展
Application
,然后调用getApplicationContext()
- 通常不建议这样做。
- 让我的库类每个都实现单例模式,并在每次获取单例引用时让每个调用者传递一个
Context
。- 这要求每个调用者在使用库之前检索应用程序上下文,并且还要求调用者针对库类定义的静态方法进行调用(因此进一步需要保留对该实例的引用)。