您的位置:首页 > 移动开发 > Android开发

Android中开启多进程模式

2018-02-23 22:18 288 查看
    在Android中为四大组件开启多进程模式,只有一种方法,那就是在AndroidMenifest中指定android:process属性。
    如果没有指定,就是默认进程,默认进程名是包名,若指定android:process属性,那么“:xxx”表示在默认进程名后加入当前包名,但是这也代表该进程属于当前应用私有进程,其他应用组件不允许和它在同一个进程中。

    使用多进程会造成如下几个方面问题:

    (1)静态成员变量和单例模式失效

    (2)线程同步机制失效

    (3)SharePreferences可靠性下降

    (4)Application多次创建

    原因解析:由于Android为每一个应用分配一个虚拟机,其实也是为每一个进程分配一个独立的虚拟机,不同的虚拟机在内存分配上有不同的地址空间,这就导致在不同的虚拟机中访问同一个类对象会产生不同的副本,因此造成(1)问题出现;问题(2)本质上和(1)的原因是一样的,不是同一个内存地址空间,不管是锁对象还是锁全局都无法保证线程同步,因为不同进程锁的不是同一个对象了。问题(3)是因为SharePreferences不支持并发,否则会造成一定几率的数据丢失。问题(4)由于运行在同一个进程中的组件是属于同一个虚拟机和同一个application,因此运行在不同的进程中就属于不同的application的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: