تفاوت های Parceable و Serializeable در چی هست؟ زمان استفاده هرکدام به چه صورت هست؟ همچنین اینکه زیر ساخت هردو از چی هست؟
سوال
در دنیای برنامه نویسی دو مفهوم بسیار جالب هست به نام هایSerializeable و Parceable خواستم راجب این دو اگر اطلاعی داره به منم اشتراک بگذاره.!
در حال بررسی
0
انجمن برنامه نویسان اندروید
6 سال
3 پاسخ ها
604 دیده شده
0
پاسخ ها ( ۳ )
اولین و سادهترین تفاوت آن است که Parcelable جزئی از کلاسهای اندروید (android.os.Parcelable) است ولی Serializable از جاوا (java.io.Serializable).
تفاوت بعدی در سرعت و پرفورمنس این دو است، Serializable جاوا از رفلکشن استفاده میکند، برای همین سرعت بسیار پایینتری نسبت به Parcelable دارد. همچنین Serializable جاوا تعداد زیادی آبجکتهای موقتی تولید میکند که کمی برروی garbage collectionجاوا تاثیرگذار است و کار آن را بیشتر میکند. اما Parcelable بسیار سریعتر است و یکی از دلایل اصلی این پرفورمنس به استفاده نکردن از رفلکشن برمیگردد. و البته اینکه Parcelable به خوبی برای این کار بهینه شده است. برای آنکه یک مقیاس از این پرفورمنس داشته باشید، به دیاگرام زیر توجه کنید:
تفاوت بعدی در سادگی استفاده از Serializable نسبت به Parcelable است.
این که از هرکدام از این دو در چه مواردی استفاده کنیم، کاملاً بستگی به مورد استفاده شما دارد، اما برای تصمیمگیری کارآمدتر، بهتر است این تفاوتها را در ذهن داشته باشید. تا بتوانید براساس نیاز و شرایط مورد مناسبتر را انتخاب کنید.
سلام
مهمترین تفاوتش Serializable جاوا از رفلکشن استفاده میکند، برای همین سرعت بسیار پایینتری نسبت به Parcelable دارد.
عمده ترین تفاوت این دو مفهوم در سرعت اونها هست که parceable خیلی سریعتر از serializeable هست.
در ادامه چند مورد دیگه از تفاوت هاشون رو ذکر کردم:
پارسل خیلی سریعتره
پیاده سازی پارسل زمان بیشتری میبره نسبت به سریالایز
پیاده سازی سریالایز ساده تره
سریالایز تعداد زیادی آبجکت های موقتی میسازه که همین مسئله باعث میشه کار GC بیشتر باشه