Android开发艺术鉴赏第二章 IPC
2016-03-08 23:53
274 查看
IPC含义为进程间通信或者跨进程通信。多进程场景有两种:1一个应用内不同进程的通信,一般而言一个应用对应一个进程,但是在某些情况下,例如当应用内的某些模块需要运行在单独的进程中或者应用需要通过多进程获得多份内存空间时,一个应用可以有多个进程;2不同应用之间的通信。
Android开启多线程可通过给四大组件指定android:progress属性,正常情况下多进程指的是一个应用中存在多个进程。
android:progress=:remote中以“:”是简写,含义是在当前进程名前加上当前包名,以“:”开头的进程属于私有进程,其他组件不能和它跑在同一个进程。不以“:”开头的进属于全局进程,其他应用符合shareUID一致和签名相同可以和它跑在同一个进程。
安卓为每个进程分配一个独立的虚拟机,不同虚拟机在内存上有不同的地址空间,所以当一个应用开启多个进程时,多个进程访问同个对象会有多份数据副本,且互不干扰。因此多进程可能导致以下问题;1静态成员和单例模式完全失效; 2线程同步完全失效 ;3sharePreference可靠性下降,因为其不支持并发写和读;4Application多次创建。
为解决以上问题(数据无法数据无法交互),系统提供了很多跨进程通信方式。
序列化:1持久到存储设备;2网络传输;3进程间通信。http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html
Serializable接口:seriaVersionUID的主要作用在反序列化。
Parcelable接口:实现此接口的有Intent,Bundle.Bitmap,List,map
区别:内存序列化首选Parcelable,序列化到存储设备或网络传输选择Serializable。
Binder;系统会为AIDL自动生成其所对应的Binder类。
Android开启多线程可通过给四大组件指定android:progress属性,正常情况下多进程指的是一个应用中存在多个进程。
android:progress=:remote中以“:”是简写,含义是在当前进程名前加上当前包名,以“:”开头的进程属于私有进程,其他组件不能和它跑在同一个进程。不以“:”开头的进属于全局进程,其他应用符合shareUID一致和签名相同可以和它跑在同一个进程。
安卓为每个进程分配一个独立的虚拟机,不同虚拟机在内存上有不同的地址空间,所以当一个应用开启多个进程时,多个进程访问同个对象会有多份数据副本,且互不干扰。因此多进程可能导致以下问题;1静态成员和单例模式完全失效; 2线程同步完全失效 ;3sharePreference可靠性下降,因为其不支持并发写和读;4Application多次创建。
为解决以上问题(数据无法数据无法交互),系统提供了很多跨进程通信方式。
序列化:1持久到存储设备;2网络传输;3进程间通信。http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html
Serializable接口:seriaVersionUID的主要作用在反序列化。
Parcelable接口:实现此接口的有Intent,Bundle.Bitmap,List,map
区别:内存序列化首选Parcelable,序列化到存储设备或网络传输选择Serializable。
Binder;系统会为AIDL自动生成其所对应的Binder类。
相关文章推荐
- Android数据库SQLite操作详解及LitePal用法详解(二)
- android中的文件操作详解以及内部存储和外部存储
- zhu的工作日记:LayoutAnimation的简单使用(android)
- Android自定义控件ImageViwe(三)——随手指进行图片的缩放
- 这些年正Android - Traveling 第一章001
- 这些年正Android - Traveling 第一章001
- Android NDK环境搭建
- Android Studio Service 介绍
- android文件分段下载
- ViewTreeObserver.OnPreDrawListener()第一次无法监听或View第一次加载无图像;
- Android开发60条技术经验总结
- Android中自定义Dialog布局的两种方式比较
- 注册谷歌帐号以及用其他镜像解决android sdk的下载问题(已解决)
- 注册谷歌帐号以及用其他镜像解决android sdk的下载问题(已解决)
- 注册谷歌帐号以及用其他镜像解决android sdk的下载问题(已解决)
- android使用AIDL实现跨进程通讯(IPC)
- android开发时R文件丢失解决方案
- Android 快速开发系列 打造万能的ListView GridView 适配器
- Android中自定义样式与View的构造函数中四个参数的意义
- Android中使用AsyncTask实现异步加载