2010-12-19 34 views
12

System.setPropertyの範囲はどこですか?System.setPropertyの範囲

プロパティ(たとえばSystem.setProperty("http.keepAlive", "false"))を設定すると、システム内のすべてのアプリケーション、現在のアプリケーション、現在のタスク、または現在のスレッドにのみ影響しますか?

これはどこに記載されていますか?

答えて

4

Javaの "システム"プロパティはプロセスの境界を越えません。これらのプロパティはメモリに保持され、仮想マシンの単一のインスタンスに関連付けられます。したがって、アプリケーション内でシステムプロパティを設定すると、そのデバイス上で実行されている他のアプリケーションからは表示されません。

+0

を参照してください。しかし、それは、同じアプリケーションのすべてのタスクに見えるだろうか? – hpique

+0

はい、タスクによってスレッドを意味する場合。 – mmccomb

+1

いいえ、Androidのタスクを意味します:http://developer.android.com/guide/topics/fundamentals.html#acttask – hpique

0

Androidアプリケーション同じアプリケーションのアクティビティは、Manifest.xmlで別途指定しないと、起動時にアプリケーション用に作成されたデフォルトのプロセスで実行されます。

各プロセスは、それぞれのJVMで実行されます。したがって、@ mmccombの答えに基づくSystem.setProperty()は、あなたが別のプロセスで実行するアクティビティを宣言している場合を除いて、同じアプリケーション内のすべてのアクティビティに到達します。

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