? ? ? ? 我們都知道進(jìn)行android 開發(fā)的時(shí)候,跳轉(zhuǎn)到Activity和Fragment的時(shí)候窟却,傳遞對(duì)象是通過Intent或者bundle 進(jìn)行傳遞昼丑。當(dāng)這個(gè)對(duì)象沒有實(shí)現(xiàn)序列化的時(shí)候 當(dāng)你通過Inetnt傳遞的時(shí)候會(huì)報(bào)紅,系統(tǒng)會(huì)提示你將這個(gè)對(duì)象實(shí)現(xiàn)序列化间校。
? ? ? 1.先了解一下 什么是序列化矾克。通過對(duì)《Android 開發(fā)藝術(shù)探索》可以知道序列化是將一個(gè)對(duì)象轉(zhuǎn)化成可存儲(chǔ)可傳輸?shù)臓顟B(tài),序列化后的對(duì)象可以在網(wǎng)絡(luò)上傳輸憔足,也可以存儲(chǔ)到本地胁附。
? ? ? ?2.回到我們的主題,那為什么要序列化呢滓彰?<大致有三個(gè)原因>
? ? ? ? ? ? ? ?a.永久性保存對(duì)象控妻,保存對(duì)象的字節(jié)序列到本地文件中
? ? ? ? ? ? ? ?b.對(duì)象可以在網(wǎng)絡(luò)中傳輸
? ? ? ? ? ? ? ?c.對(duì)象可以在IPC之間傳遞
? ? 3.序列化有那幾種方式呢<有兩種方式>?
? ? ? android自定義對(duì)象可序列化有兩個(gè)選擇一個(gè)是Serializable和Parcelable
? ? ?4.它們之間有什么區(qū)別?
? ? ? ? ? ? ?a.在使用內(nèi)存的時(shí)候Parcelable比Serializable的性能高揭绑。
? ? ? ? ? ? ?b.Serializable在序列化的時(shí)候會(huì)產(chǎn)生大量的臨時(shí)變量弓候,從而引起頻繁的GC(內(nèi)存回收)。
? ? ? ? ? ? ?c.Parcelable不能使用在將對(duì)象存儲(chǔ)在磁盤上這種情況他匪,因?yàn)樵谕饨绲淖兓翽arcelable不能很好的保證數(shù)據(jù)的持續(xù)性菇存。
? ? ? ? ? ? d.實(shí)現(xiàn)Serializable很簡(jiǎn)單 因?yàn)镾erializable是一個(gè)空接口 所以只要在在實(shí)體類中實(shí)現(xiàn)這個(gè)接口即可 Parcelable就稍微復(fù)雜了一點(diǎn)了?
? ? ? ? ? ? 這里有實(shí)現(xiàn)Parcelable 這個(gè)接口的列子?blog.csdn.net/jaycee110905/article/details/21517853?