ความเข้าใจเกี่ยวกับอนุกรมและพัสดุ
1. ก่อนอื่นทั้งสองอินเทอร์เฟซของพวกเขามีวัตถุประสงค์เพื่อตระหนักถึงการทำให้เป็นอนุกรมของวัตถุเพื่อให้สามารถผ่านได้ การทำให้เป็นอนุกรมที่เรียกว่าเป็นกระบวนการของการแทนที่ข้อมูลวัตถุด้วยสื่อที่สามารถเก็บไว้ได้
2. Serializable เป็นอินเทอร์เฟซอนุกรมที่จัดทำโดย JDK อินเทอร์เฟซนี้มีอยู่ภายใต้แพ็คเกจ IO และสามารถใช้สำหรับอินพุตและเอาต์พุต ใช้งานง่ายมาก เพียงแค่ให้คลาสของคุณใช้อินเทอร์เฟซนี้ คุณสามารถใช้คำหลักชั่วคราวเพื่อแก้ไขแอตทริบิวต์ที่คุณไม่ต้องการทำให้เป็นอนุกรม
3. พัสดุเป็นอินเทอร์เฟซอนุกรมที่จัดทำโดย SDK เป็นเรื่องยากที่จะใช้สิ่งที่ดีกว่า หลังจากใช้อินเทอร์เฟซนี้คุณจะต้องเขียนวิธี Writetoparcel ใหม่และเขียนคุณสมบัติที่จำเป็นต้องได้รับการจัดลำดับลงในพัสดุ
จากนั้น Cerator Static Member Zodiac ก็จำเป็นต้องดึงข้อมูลจากพัสดุ ดังนี้
ผู้สร้างสุดท้ายคงที่ <Cen> ผู้สร้าง = ผู้สร้างใหม่ <SEN> () {@Override ปากกาสาธารณะ CreateFromparcel (พัสดุใน) {ส่งคืนปากกาใหม่ (ใน); } @Override ปากกาสาธารณะ [] newArray (ขนาด int) {ส่งคืนปากกาใหม่ [ขนาด]; - @Override Public Int Describetents () {return 0; } @Override โมฆะสาธารณะ writetoparcel (พัสดุ dest, int flags) {dest.writestring (สี); Dest.WriteInt (ขนาด); -4. ทั้งสองใช้เพื่อสนับสนุนการดำเนินการแบบอนุกรมและการดำเนินการ deserialization ความแตกต่างที่ใหญ่ที่สุดระหว่างทั้งสองคือความแตกต่างในสื่อจัดเก็บข้อมูล Serializable ใช้การอ่านและการเขียน IO เพื่อเก็บไว้ในฮาร์ดดิสก์ในขณะที่อ่านและเขียนในหน่วยความจำโดยตรง เห็นได้ชัดว่าการอ่านหน่วยความจำและความเร็วในการเขียนมักจะมากกว่าการอ่านและการเขียนของ IO ดังนั้นพัสดุจึงเป็นที่ต้องการใน Android
ผ่านบทความนี้ฉันหวังว่าจะช่วยเพื่อน ๆ ที่ต้องการทำความเข้าใจความรู้เกี่ยวกับ Java serializable และ parcelable อย่างละเอียด ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!