麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

深入理解Activity之間的數據傳遞

2020-04-11 12:21:21
字體:
來源:轉載
供稿:網友

Activity之間是沒有辦法直接傳遞數據的。Android的設計原則是,用Intent在不同的Activity和進程之間進行通信,但是通常來講,Intent中只能存入基本數據類型和系統默認支持的比如Uri之類的。那么對于用戶自己定義的數據結構是無法直接用Intent來傳送的,如果想要通過Intent來傳遞自定義數據,可以讓數據結構實現Parcelable接口,這樣就可以把數據放入Intent。但是Intent的傳送效率也不是很高,特別是當傳遞一些如Bitmap的大數據,曾經在有一次遇到過,用Intent傳遞超過500K的Bitmap,就會造成Framework層的Java Binder掛掉,結果就是傳遞不成功。

這點可以算成是Android的一個弊端,沒有很好的解決方案。能做到的就是盡量設計的時候注意,盡量讓Activity之間共享基本數據類型。

Android本身的應用中也深受其害,可以看到有很多應用程序的源代碼中的主要的類在三千行以上的不在少數,比如Browser中的BrowserActivity有四千多行;Mms中的ComposeMessageActivity也有四千多行。等等。為什么一個類會如此之大,就是因為它們是程序的主頁面,是業務的核心邏輯所在,里面也控制著很多的其他的數據結構,而又無法與另外的Activity共享,所以就只能在一個Activity里面做所的事情。

另外,雖然不是很好的解決,但也還可以接受,就是對某些數據和邏輯類用單鍵模式,這樣每個包內的類(包括Activity)都可以訪問,比如Mms中的data包里面的WorkingMessage,Conversation,Contact和ContactList都是單鍵。

希望以后的SDK中能有比較好的解決方法。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久久久久久国产精品 | 国产成人自拍视频在线观看 | 亚洲最新黄色网址 | 欧美一级黄色录像片 | 日本一道aⅴ不卡免费播放 视屏一区 | 国产一国产一级毛片视频在线 | 日本在线观看视频网站 | 久国久产久精永久网页 | 亚洲xxx在线观看 | 中国av免费观看 | 免费一区在线 | 加勒比综合 | 国产精品一区视频 | 国产一区二区精品91 | 麻豆传传媒久久久爱 | 亚洲国产一区二区三区 | 欧美视频国产 | av7777777 | 福利在线播放 | 一区二区三高清 | 久久久久二区 | 国产午夜精品一区 | 91热久久免费频精品黑人99 | 男女羞羞视频 | 一级免费黄色免费片 | 久久国产精品久久久久久电车 | 成人黄视频在线观看 | 精品久久久久久久久久久久久久久久久久久 | 精品亚洲成a人在线观看 | 看毛片电影 | 羞羞视频免费观看入口 | 欧美日韩国产一区二区三区在线观看 | 国产成人在线观看网站 | 亚洲午夜免费电影 | 中文字幕精品在线视频 | 亚洲国产色婷婷 | 99麻豆久久久国产精品免费 | 日韩视频区 | 成年人在线视频观看 | 欧美成人一二三区 | 欧美日本91精品久久久久 |