按意图启动新流程。新流程是旧流程的一部分,还是创建了新流程?

时间:2012-05-21 14:11:54

标签: android android-intent

我在活动A中,这是一个带按钮的简单Hello world应用程序。我在按钮上发出了这个。

Intent intent =new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setUri("http://google.com");

现在将调用浏览器应用程序/进程,浏览器应用程序/进程是我的旧应用程序/进程的一部分还是创建了新进程?

我认为这不是我的流程的一部分,因为即使我没有Uses internet permission,我仍然可以访问互联网。因此,新活动是新流程的一部分。

这是对的吗?

2 个答案:

答案 0 :(得分:2)

应用程序需要使用相同的密钥签名才能在同一进程中运行 我猜您的应用程序没有使用与浏览器应用程序相同的密钥进行签名,因此可以肯定地说它们不会在同一进程中运行。

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

  

您还可以设置android:process,以便不同应用程序的组件在同一进程中运行 - 前提是应用程序共享相同的Linux用户ID并使用相同的证书进行签名。

答案 1 :(得分:1)

在这种情况下,系统会为“浏览器”进程分配内存,但浏览器的Activity会添加到您的任务中,更加正确地添加到任务的BackStack中。