2010-12-19 30 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