在android系统中,一个app是一个进程,这是肯定的。
但在一个app中,activity和service好像也是一个进程。例如intent和binder都是用来进程间通信的,在两个组件(activity或service)通信是会使用到这两个机制。
但是一个进程(app)里面怎么还能有进程(activity或service),是我的理解有错,还是这里边的机制有我没有明白的地方。
希望有人可以解答一下,谢谢
程序是唯一的,一个app是一个程序,但一个程序不一定只有一个进程,这个程序可以是多进程的、可以是多线程的、也可以是多进程多线程的
你可以认为一个进程是一个模块,一个app可以只有一个主模块,但也可以额外有许多其他模块
一个app是一个进程本身就是一个错误的说法,只不过是方便理解的说法。正确的是,当我们启动app的时候,系统进程会分发一个子进程给app,那么app本身就相当于一个进程,既然如此,进程就可以开新的进程。因此准确的理解就是,如果不做操作,那么所有的app就是在一个进程中运行,但是我们可以将任务进行拆分,从而运行在不同的进程中,
一个应用是可以运行多个进程的, 可以通过android:process 来设置运行在单独进程!
<service
android:name="xx.xx.XXPosService"
android:process=":remote"
android:enabled="true"
android:exported="true"/>