码迷,mamicode.com
首页 > 系统相关 > 详细

多进程的一些注意事项

时间:2016-03-22 06:16:37      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

1.如何开启:

给四大组件(Activity、Service、Receiver、ContentProvider)在AndroidManifest.xml中指定"android:process"属性可以在应用内实现多进程。

如果进程名以":"开头,说明该进程属于私有进程,其他应用的组件不可以和它跑在同一个进程中;

如果进程名不以":"开头,则属于全局进程,其它应用通过ShareUID方式可以和它跑在同一个进程中。

 

2.注意两个进程之间的数据:

Android为每个应用分配了一个独立的虚拟机,或者可以说每个进程都有一个独立的虚拟机,不同的虚拟机在内存分配上有不同的内存地址,这就导致不同的虚拟机访问同一个类的对象会产生多份副本。

所以,所有运行在不同进程中的四大组件,只要他们之间通过内存来共享数据,都会共享失败。

一般来说,使用多进程会有以下影响:

<1>.静态成员和单例模式完全失效

<2>.线程同步机制完全失效(因为都不是一块内存了,所以不同进程锁都不是同一个对象)

<3>.SharePreferences的可靠性下降(因为SharePreferences不支持两个进程同时进行写操作,会导致一定几率的数据丢失,这是因为SharePreferences底层是通过读写xml来实现的)

<4>.Application会多次创建

 

多进程的一些注意事项

标签:

原文地址:http://www.cnblogs.com/wufeng0927/p/5304448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!