我的安卓应用运行了一个服务实例,其他应用无法访问该服务。我知道该服务与应用的Activity运行在同一进程中,因为我可以从Activity读写Service类上的静态变量,并且Service可以看到这些变化。
通过静态变量/方法(或更准确的单例)与服务通信比使用Handler或Intent简单得多,后者需要将所有传递的参数转换成Parcelable。似乎这两种通信方式真正设计用于运行在独立进程中的服务,对于进程内服务来说则是不必要的开销。
但我感觉自己可能漏掉了什么重要的东西。如果你知道它只在你的应用中是本地的,那么使用单例来与服务进行通信有什么问题吗?
通过静态变量/方法(或更准确的单例)与服务通信比使用Handler或Intent简单得多,后者需要将所有传递的参数转换成Parcelable。似乎这两种通信方式真正设计用于运行在独立进程中的服务,对于进程内服务来说则是不必要的开销。
但我感觉自己可能漏掉了什么重要的东西。如果你知道它只在你的应用中是本地的,那么使用单例来与服务进行通信有什么问题吗?