首页 编程 软件学院 查看内容

关于 Android 进程的简介

2016-5-9 14:17 1758 0

摘要: 在Android系统中, 进程非常重要, 除了主进程运行App, 我们还可以使用其他进程处理独立任务.更多:http://www.wangchenlong.org/欢迎Follow我的GitHub:https://github.com/SpikeKing进程, 即Process. 进程间通信, 即IP ...

在Android系统中, 进程非常重要, 除了 主进程 运行App, 我们还可以使用 其他进程处理独立任务.

进程, 即Process. 进程间通信, 即IPC(Inter-Process Communication).

在Android中, 使用多进程只有一种方式, 在AndroidManifest中, 为四大组件(Activity, Service, Receiver, ContentProvider)指定 android:process 属性.

<service
    android:name=".PedometerCounterService"
    android:exported="false"
    android:process=":cy_pedometer_set"/>

exported="false" 表示只与本应用内的进程通信, 即包名相同.

默认进程的进程名是 包名 .

➜  ~ adb shell ps | grep wangchenlong.chunyu.me.android_pedometer_set
u0_a354   28490 410   2259024 80272 ffffffff 00000000 S wangchenlong.chunyu.me.android_pedometer_set
u0_a354   28515 410   2191112 60080 ffffffff 00000000 S wangchenlong.chunyu.me.android_pedometer_set:cy_pedometer_set

进程ID是 28490 和 28515 . 父进程ID是 410 . ps -help 显示标题.

使用 ":" 表示 私有进程 , 其他组件不能使用; 使用全称表示 全局进程 , 其他组件可以使用 ShareUID 共享进程.

多进程无法通过内存共享数据. 可以通过 Intent 传递数据.

不同进程的组件会拥有独立的 虚拟机 , Application , 内存空间 .

多个进程, Application会创建多次.

Serializable 和 Parcelable 接口处理对象序列化过程. 使用ObjectOutputStream 和 ObjectInputStream 处理对象的 Serializable 序列化与反序列化.

Intent可以使用 Serializable 和 Parcelable 接口传递复杂对象数据, 参与进程间的通信.

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部