در برنامه نویسی اندروید زمانی که نیاز داشته باشیم تا اطلاعاتی و از یک صفحه به صفحه دیگه انتقال بدیم راه های مختلفی داریم. مثلا میتونیم یه متغیر سراسری استاتیک داشته باشیم و اطلاعاتمون و داخل اون ذخیره کنیم اما خب شاید این روش به نوعی فاجعه باشه مخصوصا که زمانی که تعداد اطلاعاتمون زیاد هست. راه بهتر استفاده از Intent و دستور putextra هست. این روش برای ارسال اطلاعات ساده میتونه مفید باشه اما زمانی که شما از یک کلاس آبجکت ساخته باشید نمیتونید با این دستور بصورت پیشفرض آبجکت ارسال کنید. اینجا ما دوتا راه داریم استفاده از PARCELABLE و SERIALIZATION. من دراین مطلب قصد ندارم روش کار کردن با این دو تکنیک آموزش بدهم فقط میخوام ببینیم این دو روش چه تفاوت هایی با هم دارند.
SERIALIZATION
به طور پیش فرض در برنامه نویسی برای ارسال آبجکت از SERIALIZATION باید استفاده کنیم و جز استاندازد های خود جاوا هست نه Android SDK و فقط کافیست که اینترفیس مخصوص آن را در کلاس خود پیاده سازی کنیم به همین سادگی. اما از اونجایی که برای به دست آوردن هرچیزی باید بهای آن را هم پرداخت کنیم سادگی این روش باعث میشه که آبجکت های خیلی زیادی زمان استفاده از آن تولید شود که در سرعت برنامه شاید مشکل ایجاد کند که به دلیل reflection هست.
Parcelable
Parcelable هم یک اینترفیس دیگری هست که دقیقا کارهای قبلی و برای ما انجام میده اما با روش بهینه تر. همچنین Parcelable بصورت اختصاصی برای اندروید طراحی شده است یعنی داخل JDK نیست داخل Android SDK قرار داره. این روش سرعت خیلی بیشتری نسبت به SERIALIZATION داره و همچنین کاملا بهینه تر هم می باشد. اما باز هم برای استفاده از آن باید بهایی پرداخت کرد و اون هم نوشتن تعداد زیاد کد های تکراری, عیب یابی دشوارتر و...
در نمودار زیر به خوبی تفاوت سرعت اجرای PARCELABLE و SERIALIZATION و مشاهده می کنید.
برنامه نویس موبایل
کارشناسی فناوری اطلاعات برنامه نویس موبایل با زبان های جاوا, کاتلین, دارت(فلاتر) CCNA,LPIC
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود