開(kāi)發(fā)APP怎樣解決層間通信問(wèn)題?我們首先要了解什么是層間通信,深圳APP開(kāi)發(fā)公司結(jié)合多年APP項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)歸納整理層間通信方式主要有以下兩種方式。
(1)消息優(yōu)點(diǎn):層間的耦合性比較小,而且一個(gè)消息可以有多個(gè)接收方,如廣播消息。缺點(diǎn):如果系統(tǒng)中的消息比較多,可能處理的速度比較慢;或消息隊(duì)列滿了,接收方無(wú)法接收到消息。還有一種情況是A發(fā)消息給B,但可能先被C接收了,B也無(wú)法接收到消息。
(2)回調(diào)函數(shù)優(yōu)點(diǎn):處理速度比較快。
缺點(diǎn):層間的耦合性比較大。
APP開(kāi)發(fā)層間通信交互模式,層間通信的交互模式有以下兩種。
(1)同步調(diào)用A向B發(fā)出請(qǐng)求后,一直等到收到B的反饋,再繼續(xù)執(zhí)行。
(2)異步調(diào)用A向B發(fā)出請(qǐng)求后,不等待B的反饋,就繼續(xù)執(zhí)行后續(xù)代碼。
APP開(kāi)發(fā)關(guān)于層間通信模式之跨業(yè)務(wù)模塊調(diào)用
關(guān)于跨業(yè)務(wù)模塊調(diào)用簡(jiǎn)介
跨業(yè)務(wù)模塊調(diào)用是指當(dāng)一個(gè)APP中存在A業(yè)務(wù)、B業(yè)務(wù)等多個(gè)業(yè)務(wù)模塊時(shí),B業(yè)務(wù)模塊有可能會(huì)需要調(diào)用A業(yè)務(wù)模塊的接口方法,A業(yè)務(wù)模塊又有可能調(diào)用其他業(yè)務(wù)模塊的接口方法。在Android開(kāi)發(fā)中,就是指多個(gè)Activity間的相互通信和調(diào)用,這樣會(huì)導(dǎo)致Acticity間的橫向依賴,并產(chǎn)生以下問(wèn)題。
(1)當(dāng)一個(gè)功能需要多個(gè)開(kāi)發(fā)人員合作完成時(shí),某些依賴層上端的開(kāi)發(fā)人員在前期無(wú)法正常進(jìn)行開(kāi)發(fā),而依賴層下端的開(kāi)發(fā)人員任務(wù)繁重,不能很好的并行開(kāi)發(fā),整體開(kāi)發(fā)進(jìn)度會(huì)變慢。
(2)當(dāng)開(kāi)發(fā)依賴于某個(gè)舊業(yè)務(wù)模塊的新業(yè)務(wù)模塊時(shí),而舊模塊間又相互依賴,開(kāi)發(fā)人員可能需要把相關(guān)業(yè)務(wù)模塊都導(dǎo)入開(kāi)發(fā)環(huán)境且也要做一定的了解,這也會(huì)影響開(kāi)發(fā)進(jìn)度。
(3)如果某個(gè)業(yè)務(wù)模塊做了修改,如Activity改名,其他相關(guān)業(yè)務(wù)模塊也要做修改,導(dǎo)致增加任務(wù)量和代碼維護(hù)成本上升。
APP開(kāi)發(fā)公司介紹跨業(yè)務(wù)模塊調(diào)用方案
解決各Activity間的橫向依賴,可以使用Mediator模式,設(shè)計(jì)一套Activity消息路由機(jī)制,各Activity間不直接通信,如A想和B通信,A把請(qǐng)求發(fā)給Mediater,由Mediater再發(fā)給B。好了,APP開(kāi)發(fā)公司本文關(guān)于“開(kāi)發(fā)APP怎樣解決層間通信問(wèn)題?”的是就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。