ویا دولوپرز - Wia Developers
ویا دولوپرز - Wia Developers
خواندن ۲ دقیقه·۵ سال پیش

مقایسه RecyclerView و ListView

سلام به شما کاربران عزیز و دوست داشتنی. در مقالات قبلی هر کدام از RecyclerView و ListView رو مورد بررسی قرار دادیم و اون ها رو تعریف کردیم. در این مقاله میخوایم به مقایسه RecyclerView و ListView بپردازیم.

RecyclerView چیست؟

اندروید در ورژن 5.0 خود از ویجت جدیدی به نامRecyclerView  رو نمایی کرد که یکViewGroup  جدید است و آماده ارائه هر نمایه مبتنی بر آداپتور به شیوه ای مشابه است RecyclerView  با گسترش در ذهن طراحی شده است، بنابراین امکان ایجاد هر گونه طرح که می توانید از ان استفاده کنید را برای شما فراهم می کند. شما اگر می خواهید از یکRecyclerView  استفاده کنید باید سه عنصر RecyclerView.Adapter وLayoutManager  و ItemAnimator  را بشناسید.

ListView چیست؟

ListView یک گروه مشاهده است که لیستی از موارد رونده را نمایش می دهد. موارد لیست به صورت اتوماتیک با استفاده از یک اداپتور که محتوا را از یک منبع مانند یک آرایه یا پایگاه داده می گیرد، به لیست اضافه می شود و در نتیجه آیتم را به یک نمایش که در لیست قرار می گیرد، تبدیل می کند.

مقایسه RecyclerView و ListView

نمایشگر

الگوی نمایشگر شما را قادر می سازد تا لیست پیمایشی را به طور صحیح انجام دهید. آداپتور RecyclerView ما را مجبور به استفاده از الگوی نمایشگر می کند اما در طرف دیگر، ListView به طور پیش فرض به ما این نوع حفاظت را نمی دهد.

LayoutManager

LayoutManager مسئولیت طرح بندی نمایش های ردیف را بر عهده دارد. بنابراین RecyclerView مجبور نیست درباره چگونگی قرار دادن نمایش ردیف فکر کند. این کلاس به ما فرصتی برای انتخاب روش هایی می دهد که می خواهیم نمایش ردیف ها و نحوه حرکت در لیست را انتخاب کنیم. پیش از این با استفاده از ListView ما تنها قادر به ایجاد یک لیست اسکرول عمودی بودیم، بنابراین آن نیز انعطاف پذیر نبود.

ItemDecoration

وظیفه ItemDecoration در تئوری ساده است (اضافه کردن برخی از دکوراسیون ها برای نمایش لیست ردیف) اما در عمل این طور نیست. اگر ما بخواهیم تقسیم کننده را به هر دلیلی اضافه کنیم، می توانیم از DividerItemDecoration استفاده کنیم و آن را به RecyclerView اضافه کنیم. در صورتی که از ListView استفاده کنیم، باید خودمان از دکمه های ردیف استفاده کنیم و برای این ویجت هیچ کلاس کمکی مانند ItemDecoration وجود ندارد.

ItemAnimator

به طور پیش فرض انیمیشن های لیست RecyclerView زیبا و صاف هستند. ما نیز می توانیم ان ها را با ایجاد ItemAnimator خودمان تغییر دهیم که این نیز آسان است. در طرف دیگر اجرای انیمیشن ها در ListView سخت است و کار با فایده ای نیست و به راحتی نمی توان ان را مدیریت کرد.

نتیجه گیری

ListView برای مدت زمان طولانی در خدمت ما بوده است و ما بوسیله آن توانسته ایم بیشتر موراد را پوشش دهیم، اما در حال حاضر نیاز های کاربران بسیار متفاوت هستند. لیست طرح ها پیچیده تر شده و ListView با دست به ان ها کمکی به ما نمی کند. خوشبختانه RecyclerView معرفی شد و مشکلات زیادی را حل کرد. به طور پیش فرض کار امدتر نیز است و انیمیشن های آن نیز ساده ترند.

برای مطالعه مقاله های بیشتر به وب سایت ویادولوپرز مراجعه فرمایید.

در ویا دولوپرز ما سعی داریم در زمینه آموزش تخصصی برنامه نویسی اسمارت فون ها و حوزه های مرتبط به اونا کار کنیم. ما کارمون رو در سال 1394 با آموزش برنامه نویسی اندروید در محیط اندروید استودیو شروع کردیم
شاید از این پست‌ها خوشتان بیاید