ipc inter-process communication 跨程序通訊,兩個程序之間進行資料交換的過程
在android中的多程序一般指乙個應用中存在多個程序的情況,下面討論乙個應用中多程序的情況。
在androidmanifest.xml檔案中,給四大元件指定android:process屬性即可,值為程序的名稱,如下
假設我的包名為com.katherine.du.everydaystudy,上面的bookmanagerservice將會執行在名為「com.katherine.du.everydaystudy:remote」的程序中,
bookprovider將會執行在「com.katherine.du.everydaystudy.provider」的程序中。
至於區別,以「:」開頭的程序屬於當前應用的私有程序,其他應用的元件不可以和它跑在同乙個程序中;而不以「:」開頭的程序屬於全域性程序,其他應用通過shareuid方式可以喝它跑在同乙個程序中。
bundle是實現了parcelable介面的,所以可以方便地在不同的程序間攜帶資料。activity、service、receiver都支援在intent中傳遞bundle資料。
兩個程序可以通過讀寫同乙個檔案進行傳遞資料,但對資料同步的處理有侷限性,且無法做到即時通訊。
在不同的程序中傳遞message物件,底層實現是aidl,侷限性:序列處理訊息,只能通過message的bundle進行資料傳遞。
通過aidl實現跨程序的方法呼叫,高併發實時通訊,同樣適用於兩個應用之間。
● 首先建立乙個service和乙個aidl介面
● 建立乙個類繼承自aidl介面中的stub類並實現stub中的抽象方法,並在service中的onbind方法中返回這個類的物件
● 最後客戶端就可以繫結服務端的service,建立連線後即可訪問服務端的方法了
此方法同樣適用於兩個應用之間,或不同的裝置之間
面試之技術面試篇
6 網路 這也是常考的部分。主要考查點有 osi參考模型,tcp ip參考模型。以下是我遇到過的具體面試問題 1 請解釋一下osi參考模型。中國信保 2 請解釋一下tcp ip參考模型。中國信保 3 為什麼現在的網路最後採用了tcp ip參考模型而沒用osi參考模型?中國信保 總結 這部分面試主要考...
面試之 華賽篇
日子一天天的從腳下溜走,來不及回目,今天早已成為了過去,過去錯過的種種如今還是照樣一幕幕的重演著。早就想靜下心來好好的總結下自己這段日子來的心路歷程,但知道這個本世紀最大的光棍節的時候,才寫下這些文字。其實我喜歡記錄,就像喜歡用 記錄下生活一樣,因為我喜歡回味過去的快樂。從acer實習回來後,我就開...
Java面試之git篇
1.git的常用命令 答 git show 顯示某次提交的內容git show id git add 將工作檔案修改提交到本地暫存區 git rm 從版本庫總刪除檔案 git fetch 相當於是從遠端獲取最新版本到本地,不會自動merge git reset 從暫存區恢復到工作檔案 git res...