2010-12-19 81 views
12

Android中的System.setProperty的范围是什么?System.setProperty的范围

如果我设置了一个属性(比如说System.setProperty("http.keepAlive", "false")),它会影响系统中的所有应用程序,当前应用程序,当前任务还是当前线程?

这是在哪里记录的?

回答

4

Java“系统”属性不跨越进程边界,它们保存在内存中并与虚拟机的单个实例绑定。因此,如果您在应用程序中设置了系统属性,则该设备上运行的其他应用程序将不可见。

+0

但是它会被同一个应用程序的所有任务看到吗? – hpique 2010-12-19 13:28:21

+0

是的,如果按任务你是指线程。 – mmccomb 2010-12-19 13:57:56

+1

不,我的意思是Android任务:http://developer.android.com/guide/topics/fundamentals.html#acttask – hpique 2010-12-19 15:18:25

0

如果在Manifest.xml中未指定其他应用程序,则同一应用程序的活动将在启动时为应用程序创建的默认Process中运行。

每个进程都在其自己的JVM中运行。因此,基于@ mmccomb的答案的System.setProperty()将到达同一个应用程序中的所有活动,除非您在pupose上声明活动在不同的进程中运行。

请参阅http://developer.android.com/guide/components/processes-and-threads.html