activity跳轉(zhuǎn)的三種方法 android兩個(gè)app之間的activity怎么跳轉(zhuǎn)?
android兩個(gè)app之間的activity怎么跳轉(zhuǎn)?無(wú)法在活動(dòng)之間直接傳輸數(shù)據(jù)。Android的設(shè)計(jì)原則是使用intent在不同的活動(dòng)和進(jìn)程之間進(jìn)行通信,但一般來(lái)說(shuō),intent只能存儲(chǔ)基本的數(shù)據(jù)
android兩個(gè)app之間的activity怎么跳轉(zhuǎn)?
無(wú)法在活動(dòng)之間直接傳輸數(shù)據(jù)。Android的設(shè)計(jì)原則是使用intent在不同的活動(dòng)和進(jìn)程之間進(jìn)行通信,但一般來(lái)說(shuō),intent只能存儲(chǔ)基本的數(shù)據(jù)類(lèi)型和系統(tǒng)默認(rèn)支持,比如URI。用戶定義的數(shù)據(jù)結(jié)構(gòu)不能通過(guò)意圖直接傳遞。如果要通過(guò)intent傳輸用戶定義的數(shù)據(jù),可以讓數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)Parcelable接口,這樣就可以將數(shù)據(jù)放入intent。但是intent的傳輸效率不是很高,特別是當(dāng)一些大數(shù)據(jù)如位圖等被傳輸,超過(guò)500K的位圖被intent傳輸時(shí),框架層的javabinder會(huì)掛斷,導(dǎo)致傳輸不成功。
這可以看作是Android的一個(gè)缺點(diǎn),沒(méi)有好的解決方案。我們所能做的就是在設(shè)計(jì)時(shí)盡量在活動(dòng)之間共享基本數(shù)據(jù)類(lèi)型。
Android在自己的應(yīng)用程序中遭受了很大的損失。我們可以看到,在源代碼中有許多應(yīng)用程序的主類(lèi)行數(shù)超過(guò)3000行。例如,browser中的browseractivity有4000多行;MMS中的composemessage activity有4000多行,等等。類(lèi)之所以如此之大,是因?yàn)樗鼈兪浅绦虻闹黜?yè)和業(yè)務(wù)的核心邏輯。它們還控制許多其他數(shù)據(jù)結(jié)構(gòu),不能與其他活動(dòng)共享。因此,他們只能在一個(gè)活動(dòng)中做事情。