前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Activity的方法和过程。 在前面Android进程间通信(IPC)机制Binder简要介绍和学习计划一文中,我们提到,在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。在前面Android系统在新进程中启动自定义服务过程(startService)的原理分析一文中,,然后又在前面Android应用程序内部启动Activity过程(startActivity),现在,我们就来看一下同一个Android应用程序如何在新的进程中启动新的Activity。 老规矩,我们通过例子来介绍Android应用程序在新的进程中启动新的Activity的方法以及分析其过程。首先在Android源代码工程中创建一个Android应用程序工程,名字就称为Process吧。关于如何获得Android源代码工程,请参考在Ubuntu上下载、编译和安装Android最新源代码一文;关于如何在Android源代码工程中创建应用程序工程,请参考在Ubuntu上为Android系统内置Java应用程序测试ApplicationFrameworks层的硬件服务一文。,这个例子的源代码主要就是实现在这里了。下面,将会逐一介绍这个package里面的文件。 应用程序的默认Activity定义在src/shy/luo/process/:viewplainpackage ; import ; import ; import ; import ; import ; import ; import ; public class MainActivity extends Activity implements OnClickListener { private final static String LOG_TAG = ""; private Button startButton = null; ***@Override public void onCreate(Bundle savedInstanceState) { (savedInstanceState); setContentView(); startButton = (Button)findViewById(); (this); (LOG_TAG, "Main Activity Created."); } ***@Override public void onClick(View v) { if((startButton)) { Intent intent = new Intent("");
Android应用程序在新进程中启动新Activity方法和过程分析 来自淘豆网m.daumloan.com转载请标明出处.