我看到几个地方,人们建议在他们的应用中扩展Application
课程。
就个人而言,我从来没有必要这样做。
我无法通过谷歌搜索找到明确的答案和直接答案,所以这里有一些问题:
application
课程?答案 0 :(得分:5)
当我第一次开始使用Android进行开发时,我也想到了这一点,但从未想出答案。不过只是快速谷歌自己revealed this website。
基本上我认为,如果您正在制作一个涉及多个Activity类的更复杂的Android应用程序,那么如果您需要保留要在应用程序的各个Activity类之间共享的数据,则事情变得困难。 。引自上述网站:
如果您查看API参考指南中的Application类(请参阅此处),您将获得有关如何管理全局应用程序数据的建议。它说,Application类是“需要维护全局应用程序状态的人的基类”。
如果您刚刚开始进行Android开发,那么这一点可能并不明显,但是一旦您使用SDK一段时间后,您想出了一个想要以严肃的方式开发的想法可能会遇到这个问题,然后Application类的原因将变得清晰。
答案 1 :(得分:1)
在Android文档中,有很好的解释是Applications.class是什么。
需要维护全局应用程序状态的基类。您可以通过在AndroidManifest.xml的标记中指定其名称来提供自己的实现,这将导致在创建应用程序/包的过程时为您实例化该类。
通常不需要子类Application。在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。如果你的单例需要一个全局上下文(例如注册广播接收器),那么检索它的函数可以给一个Context,它在第一次构造单例时在内部使用Context.getApplicationContext()。
有时您可能需要对其进行扩展才能使用外部库。我确实将它用于UrbanAirship see here
Application实例确实适用于我们的app,它是在我们的应用程序启动时创建的,并在关闭时删除。它代表了应用程序的一般状态。