1.基本概念
进程是进行资源分配,线程是调度的一个独立单位,一个进程可以包含若干个线程。
一个App一般来是一个进程,当然也不乏多进程App,修改App的进程数可以在Activity或者Service的配置文件中使用
android:process=":mytest"
android:process="包名.mytest"
区别是第一种配置方式为私有进程,其他应用无法进入;第二种方式的进程可以通过shareUID方式共享。
2.java线程基础
Java中的线程一般有两种方式,第一种方式是继承Thread类,第二种方式是实现Runnable接口。其实本质两者没有区别,Thread实现了Runable接口,故两种方式都得重写run方法。
new Thread()
{
@Override
public void run() { /*线程体*/}
}.start();
new Thread(new Runnable()
{
@Override
public void run() {
}
}).start();
3.Android中的线程
AndroidApp启动是会默认开启一个主线程也称为UI线程,因为对UI
的更新必须放在该线程中,且耗时的工作必须放在子线程中。
4.Android AIDL
Android接口定义语言。
当新建一个aidl时开发环境会为我们生成一个.java的,该类继承了IInterface接口并且有一个Stub子类,在Stub子类中还会有Proxy子类,当跨进程时其实是返回的Proxy子类。Eclipse可以在gen文件夹下查看到,AndroidStudio可以在app\build\generated\source\aidl\debug\目录下查看到。