در تصویر زیر وقتی برای بار اول scroll میکنم تا item آخر، مثلا 20 تا item داریم تا item 12 متد oncreate کال میشه و دیگه کال نمیشه وفقط متد onbindviewholder کال میشه؟
در حالی که طبق گفتههای استاد نباید اینطور باشه!
سلام وقت بخیر
onCreateViewHolder زمانی فراخوانی میشود که یک view جدید باید ایجاد بشه که این هم براساس سایز صفحه متفاوت است هر تعداد viewکه قابلیت نمایش داده باشد را میسازد که مسئول ایجاد یک نمونه ViewHolder است. درحالیکه onBindViewHolder زمانی فراخوانی میشه که item جدید را داخل view موجود نمایش دهد یعنی وظیفه آپدیت دیتای جدید در view را دارد. دقت کنید که گفتم view ای که موجود است . کلا وظیفه recyclerView بازیافت view هست یعنی نیاز نباشد به ازای 100 تا item 100 تا ویو بسازیم که باعث مصرف زیاد مموری و کند شدن برنامه میشه در این حالت مثلا 12 تا ویو میسازه و دیتای این 12 تا رو هر بار با item جدید در onBind آپدیت میکنه.