安卓的跨進程通信

方法:
在AndroidManifest.xml中,給四大組件中指定android:process屬性

例子:包名com.xxx
1.android:process=“:remote”
2.android:process=“com.xxx.remote”

安卓默認進程名:com.xxx
1.進程名:com.xxx:remote只壳,當前應用的私有進程烦绳,其它應用的組件不能和它跑在一個進程
2.進程名:com.xxx.remote,全局進程赤拒,其它應用可以通過ShareUID方式和它跑在一個進程

adb shell ps | grep com.xxx 查看應用下的進程
不同的進程訪問同一個類的對象,會產生多個副本

多進程帶來的問題
1.靜態(tài)成員和單利模式完全失效(進程與進程之間不共享內存的數據)
2.線程同步機制完全失效(鎖的不是同一個對象)
3.SharedPreferences可靠性下降
4.Application多次創(chuàng)建

進程通信方式
1.intent
2.共享文件
3.SharedPreferences(可靠性下降,具體見下面sp多進程例子)
4.SQLite ,解決3可靠性下降的問題

sp多進程例子
有A,B兩個Activity亭珍,對sp的同一個key進行操作
首先,A向sp寫入值枝哄,并讀取肄梨,沒問題
接下來,從A跳進B挠锥,讀取sp众羡,結果正確
然后,在B中向sp寫入值蓖租,并讀取粱侣,沒問題
最后,返回A蓖宦,在讀取sp的值齐婴,發(fā)現值并沒有改變(還是第一次在A中讀取的值,而不是B修改后的值)

原理分析
SP使用了緩存的機制稠茂,會先把數據保存在內存中柠偶,在讀取的時候直接從內存中讀取,而寫的時候才會保存到文件
多進程之間內存不可見
注:即使使用MODE_MULTI_PROCESS也不能保證進程間的同步

sp存儲的內容是沒有長度限制的主慰,因為它實際上是一個xml文件嚣州,而xml文件的value是不會限制長度的

跨進程通信的測試用例(代碼在ThirdJar的com.sf.service下)

Service向Activity傳遞數據的方法
1.廣播
2.通過bindservice,同時在Service中創(chuàng)建一個Binder對象和一個接口共螺,在onServiceConnected回調中通過binder得到Service對象该肴,然后對這個接口進行監(jiān)聽,就能得到Service傳遞過來的數據

一個Activity藐不,一個Service
同一個進程中
1匀哄,2均可行

對service加android:process屬性,兩個進程
1 可行
2 報錯 java.lang.ClassCastException: android.os.BinderProxy cannot be cast to com.sf.service.PlayService$MyBinder
PlayService ps = ((PlayService.MyBinder) binder).getService(); 報錯代碼

如果一個應用有多個進程雏蛮,則我們在徹底退出程序時涎嚼,只會銷毀退出界面所在的進程,利用此特點挑秉,可以將Service放在其它的進程中法梯,這樣在程序退出后,Service仍可以正常運行。當然如果直接殺死程序立哑,多個進程會同時被銷毀

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末夜惭,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子铛绰,更是在濱河造成了極大的恐慌诈茧,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捂掰,死亡現場離奇詭異敢会,居然都是意外死亡,警方通過查閱死者的電腦和手機这嚣,發(fā)現死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門鸥昏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人疤苹,你說我怎么就攤上這事互广。” “怎么了卧土?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵惫皱,是天一觀的道長。 經常有香客問我尤莺,道長旅敷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任颤霎,我火速辦了婚禮媳谁,結果婚禮上,老公的妹妹穿的比我還像新娘友酱。我一直安慰自己晴音,他們只是感情好,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布缔杉。 她就那樣靜靜地躺著锤躁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪或详。 梳的紋絲不亂的頭發(fā)上系羞,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機與錄音霸琴,去河邊找鬼椒振。 笑死,一個胖子當著我的面吹牛梧乘,可吹牛的內容都是我干的澎迎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼夹供!你這毒婦竟也來了辑莫?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤罩引,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后枝笨,有當地人在樹林里發(fā)現了一具尸體袁铐,經...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年横浑,在試婚紗的時候發(fā)現自己被綠了剔桨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡徙融,死狀恐怖洒缀,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情欺冀,我是刑警寧澤树绩,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站隐轩,受9級特大地震影響饺饭,放射性物質發(fā)生泄漏。R本人自食惡果不足惜职车,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一瘫俊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧悴灵,春花似錦扛芽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赡鲜,卻和暖如春空厌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背银酬。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工嘲更, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揩瞪。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓赋朦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宠哄,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內容

  • 2018/3/26 吃了一肚子生菜壹将。。毛嫉。 koa 很ok 擼了一把koa诽俯,擼得神清氣爽= _= 2018/3/22...
    kyuuuuu閱讀 148評論 0 0
  • 第一名是陳曉陳妍希辛臊,熱度指數五顆星仙粱。 當紅小生陳曉昨天在微博上曬出了與陳妍希的結婚證,并說“期待一個新生命的降臨”...
    今日排行榜閱讀 111評論 1 0
  • 樓上剛畢業(yè)的一個小姑娘來找我嘮嗑彻舰。大致抱怨昨天和某某去了某地參加了某某宴席伐割,多多晚才回,然后前天也是刃唤,大前天也是隔心。...
    容氏阿楠Vi閱讀 208評論 0 1
  • emmm,今天本來是超開心的尚胞,因為隔了兩提前終于可以見到你了济炎,可是,第一節(jié)課就給了我一個重擊辐真,你和我認為愛慕你的女...
    馳而不息的小貝殼閱讀 140評論 0 0
  • 互聯網的本質是:連接閑置的生產資源须尚。 這就好比,我現在需要一輛汽車和一個司機侍咱,而小白有輛汽車耐床,自己會開,卻在家里無...
    李虎虎_閱讀 515評論 2 0