11

两个类扩展应用程序

  • 我在 Manifest 中注册并用作 an 的一类Application
  • 第二节课是我的公用事业课。它执行大量 I/O 并有一些辅助方法。对于 I/O,您需要上下文(getAssets 等),所以我不情愿地扩展了 Application.

笔记:

一切正常。

我的问题:

使用多个应用程序类有什么缺点吗?这甚至被建议吗?

一些想法:

  • 如果我在两个类中都定义了 onCreate 和其他回调方法,会发生什么?
  • 我如何在清单中注册它们?ETC

PS:我知道我可以在第二类中使用一个字段来存储上下文。

4

1 回答 1

8

我认为根本不建议这样做,因为 Application 上只能有一个实例(因此只有一个类)。

我对真正起作用的东西非常怀疑。您正在谈论实用程序类,所以也许您正在使用运行良好的静态方法。但是你应该使用你的调试器,而且我几乎可以肯定你会发现你的一个类永远不会被实例化。

顺便说一句,官方文档指出:

" 通常不需要继承 Application。在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。如果您的单例需要全局上下文(例如注册广播接收器),检索它的函数可以是给定一个 Context,它在第一次构造单例时在内部使用 Context.getApplicationContext()。"

于 2013-01-21T20:50:01.690 回答