Java 进程之间共享JAR中的静态变量?

Java 进程之间共享JAR中的静态变量?,java,android,service,static-members,Java,Android,Service,Static Members,在安卓系统中,我有一个服务(通过标准startServicecall启动)。应用程序正在引用库JAR文件。第一个活动将一个静态布尔字段设置为“true”,然后在服务过程中,我看到这个值也是true 这怎么可能 设置该值后,服务将启动——可能是DVM在创建服务进程时复制静态状态,还是进程之间共享了static字段?我的印象是,每个进程都启动了一个单独的VM。假设您的活动和服务在同一个应用程序中,它们在同一进程下的两个单独线程中运行。因此,您应该期望它们共享您正在引用的静态变量的相同实例。对不起,我

在安卓系统中,我有一个服务(通过标准
startService
call启动)。应用程序正在引用库JAR文件。第一个活动将一个静态布尔字段设置为“true”,然后在服务过程中,我看到这个值也是true

这怎么可能


设置该值后,服务将启动——可能是DVM在创建服务进程时复制静态状态,还是进程之间共享了
static
字段?我的印象是,每个进程都启动了一个单独的VM。

假设您的活动和服务在同一个应用程序中,它们在同一进程下的两个单独线程中运行。因此,您应该期望它们共享您正在引用的静态变量的相同实例。

对不起,我在欺骗自己。虽然该服务位于一个单独的进程中(使用清单中的
android:process
属性),但我无意中调用了执行此操作的代码


-这不是一个真正的问题-

是的,你是对的。但是在我的回答中,我发现我在欺骗自己,即使使用
android:process
将活动和服务分离到不同的进程