欢迎来到天天文库
浏览记录
ID:41006758
大小:155.86 KB
页数:12页
时间:2019-08-13
《Android应用程序在新的进程中启动新的Activity的方法和》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Activity的方法和过程。 在前面Android进程间通信(IPC)机制Binder简要介绍和学习计划一文中,我们提到,在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。在前
2、面Android系统在新进程中启动自定义服务过程(startService)的原理分析一文中,我们已经介绍了使用Activity.startService接口来在新进程中启动Service的过程,然后又在前面Android应用程序内部启动Activity过程(startActivity)的源代码分析一文中介绍了使用Activity.startActivity接口来在原来的进程中启动Activity的过程,现在,我们就来看一下同一个Android应用程序如何在新的进程中启动新的Activity。 老规矩,我们通过例子来介绍Android应用程序在新的进程中启动新的Acti
3、vity的方法以及分析其过程。首先在Android源代码工程中创建一个Android应用程序工程,名字就称为Process吧。关于如何获得Android源代码工程,请参考在Ubuntu上下载、编译和安装Android最新源代码一文;关于如何在Android源代码工程中创建应用程序工程,请参考在Ubuntu上为Android系统内置Java应用程序测试ApplicationFrameworks层的硬件服务一文。这个应用程序工程定义了一个名为shy.luo.process的package,这个例子的源代码主要就是实现在这里了。下面,将会逐一介绍这个package里面的文件。
4、 应用程序的默认Activity定义在src/shy/luo/process/MainActivity.java文件中:viewplain1.package shy.luo.process; 2. 3.import android.app.Activity; 4.import android.content.Intent; 5.import android.os.Bundle; 6.import android.util.Log; 7.import android.view.View; 8.import a
5、ndroid.view.View.OnClickListener; 9.import android.widget.Button; 10. 11.public class MainActivity extends Activity implements OnClickListener { 12. private final static String LOG_TAG = "shy.luo.process.MainActivity"; 13. 14. private Button startButton =
6、 null; 15. 16. @Override 17. public void onCreate(Bundle savedInstanceState) { 18. super.onCreate(savedInstanceState); 19. setContentView(R.layout.main); 20. 21. startButton = (Button)findViewById(R.id.button_start); 22.
7、 startButton.setOnClickListener(this); 1. 2. Log.i(LOG_TAG, "Main Activity Created."); 3. } 4. 5. @Override 6. public void onClick(View v) { 7. if(v.equals(startButton)) { 8.
此文档下载收益归作者所有