日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Parceable和Serializable的區別?

Parceable和Serializable的區別?

來源:千鋒教育
發布人:xqq
時間: 2023-10-11 15:04:05 1697007845

一、Parceable和Serializable的區別

兩者最大的區別在于存儲媒介的不同,Serializable使用IO讀寫存儲在硬盤上,而Parcelable是直接在內存中讀寫,很明顯內存的讀寫速度通常大于IO讀寫,所以在Android中通常優先選擇Parcelable。

1)在使用內存的時候,Parcelable比Serializable性能高,所以推薦使用Parcelable。

2)Serializable在序列化的時候會產生大量的臨時變量,從而引起頻繁的GC(垃圾回收)。

3)Parcelable不能使用在要將數據存儲在磁盤上的情況,因為Parcelable不能很好的保證數據的持續性在外界有變化的情況下。盡管Serializable效率低點,但此時還是建議使用Serializable 。

Serializable可將數據持久化方便保存,所以在需要保存或網絡傳輸數據時選擇Serializable,因為android不同版本Parcelable可能不同,所以不推薦使用Parcelable進行數據持久化。

延伸閱讀:

二、Seralizable介紹

1.Serializable 是java的序列化技術,最簡單的使用方式為在需要序列化的class增加implements Serializable,并增加一個少數個序列化id: private static final long serialVersionUID = 1L; 默認方式較好直接設置為1L,因為java sdk會自動進行hash計算,并生成少數的UID值。手動設置serialVersionUID的好處是當前class如果改變了成員變量,比如增加或者刪除之后,這個UID是不改變的,那么反序列化就不會失敗;自動設置則在改變了成員變量之后就會重新計算獲得新的UID,從而導致失敗。不過,大多數情況下兩者都可以。

2.Seralizable相對Parcelable而言,好處就是非常簡單,只需對需要序列化的類class執行就可以,不需要手動去處理序列化和反序列化的過程,所以常常用于網絡請求數據處理,Activity之間傳遞值的使用。

3.Seralizable無法序列化靜態變量,使用transient修飾的對象也無法序列化。

4.當一個父類實現序列化,子類自動實現序列化,不需要再顯示實現Serializable接口。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 来凤县| 浮山县| 荥阳市| 读书| 丹东市| 鹤山市| 鄂州市| 平舆县| 康定县| 扎赉特旗| 鄢陵县| 新宁县| 洛扎县| 黄冈市| 丹棱县| 大竹县| 南平市| 台州市| 伽师县| 揭西县| 大竹县| 蒙城县| 鄂托克旗| 阳西县| 茂名市| 定襄县| 鹤山市| 万山特区| 梅河口市| 怀化市| 兴安盟| 秀山| 东丽区| 名山县| 临邑县| 彭山县| 个旧市| 奇台县| 黄浦区| 巴青县| 宁明县|