Android 多进程和多线程

来源:互联网 发布:辐射4美女捏脸数据 编辑:程序博客网 时间:2024/05/22 14:34

综述

进程指的是Process,线程指的是Thread。

进程

UID和PID

每一个应用有一个UID,相当于Linux中的一个用户。每一个PID可以对应多个PID(进程号)。正常情况下,每一个应用都运行在自己的用户空间中,不能访问其他应用的数据。

一个应用包含多个进程

在一个APP中开启多个进程,可以通过在Androidmanifest中相应的组件中添加android:preocess属性,如果以:开头,那么这个进程就是应用的私有进程,如果不,那么其他应用可以设置sharedUserID跑在这个进程中。

一个应用包含多个进程的影响

  1. 全局变量和单例模式失效
  2. 创建多个Application
  3. 线程同步机制完全失效

多个应用跑在一个进程

满足以下两个条件的应用可以跑在同一进程,这样就可以互相访问数据了。
1. Androidmanifest文件根标签下的sharedUserId相同
2. 签名相同

主线程

  1. 主线程又叫做UI线程,这个线程专门用于更新UI,在这个线程中绝对不能进行耗时操作,否则会造成ANR错误。
  2. 为了防止ANR错误,一些耗时的操作需要放到其他线程中,然后再调用handler来更新UI。这个具体的方法可以参看Android消息处理机制中已经说的很清楚了
0 0
原创粉丝点击