IPC机制

作者: 匿名者joker | 来源:发表于2019-10-11 16:28 被阅读0次

    Android中IPC方式

    1.bundle
    2.文件共享
    3.Messenger
    4.AIDL
    5.ContentProvider
    6.Socket

    <activity 
    ......
    android:process=":remote"
    />
    
    <activity 
    ......
    android:process="com.test.helloworld.remote"
    />
    

    以上代码是两种创建进程的方式。
    区别:1.以“:”开头的进程属于当前应用的私有进程,其他应用的组件不可以和它跑在同一个进程中。而进程名不以“:”开头的进程属于全局进程,其他应用通过ShareUID方式可以和他跑在同一个进程中。
    我们知道Android系统会为每个应用分配一个惟一的UID,具有相同UID的应用才能共享数据。这里要说明的是,两个应用通过ShareUID跑在同一个进程中是有要求的,需要这两个应用有相同的ShareUID并且签名相同才可以。在这种情况下他们可以互相访问对方的私有数据,比如data目录,组件信息等,不管他们是否跑在同一个进程中。当然如果他们跑在同一个进程中,那么除了能共享ata目录,组件信息,还可以共享内存数据。
    多进程造成的问题
    1.静态成员和单例模式完全失效
    2.线程同步机制完全失效
    3.SharePreferences的可靠性下降(sp不支持两个进程同时去执行写操作,否则数据会有一定几率丢失)
    4.Application会多次创建

    相关文章

      网友评论

          本文标题:IPC机制

          本文链接:https://www.haomeiwen.com/subject/pdkfuctx.html