Android:创建一个静态方法来返回应用程序实例是否安全?

时间:2010-09-03 00:33:07

标签: android

当我需要在我的代码周围传递上下文引用时,这让我很烦。所以我想创建一个静态方法来返回对应用程序实例的引用。我不确定在一个应用程序中是否只有一个Application实例是安全的。显然,Android SDK中的Application类不提供返回实例引用的方法。所以我怀疑一定有原因吗?

1 个答案:

答案 0 :(得分:3)

这可能是安全的,假设您的Android应用程序存在于单个操作系统进程中(大多数情况下,但这不是对android的保证),但我建议反对它。

如果您需要访问已经可用的地方(活动,服务,广播接收器,应用程序,视图等)之外的上下文/应用程序,您可能会让与Android环境相关的详细信息蔓延到代码中不应该知道这么多。

最大的例外是静态实用程序方法(例如,显示您在app或类似程序中重用的预设对话框),在这种情况下,传递上下文是android世界中的一种约定(例如,ProgressDialog.show需要一个Context作为它的第一个参数)。

虽然你可以做到这一点,但我的感觉是它可能是一个创可贴,可以解决你的代码中有太多组件与android环境不必要地紧密耦合的事实。