PDA

View Full Version : متوقف شدن برنامه هنگام اسکرول و رفتن به پایین در RecyclerView



mahmood.m
جمعه 12 مرداد 1397, 22:28 عصر
سلام وقت بخیر


یه برنامه دارم که اطلاعات رو از سرور میگیره و به کاربر نمایش میده...بنده از RecyclerView برای نمایش اطلاعات دریافتی از سرور استفاده کردم و مشکل اونجاس که هر چقدر اطلاعات جدید از سرور گرفته میشه و به RecyclerView اضافه میشه اسکرول و رفتن به پایین تر کند میشه و به جایی میرسه که برنامه متوقف میشه... این مشکلش چیه ؟


دوستانی که تجربه دارن و میدونن که مشکل چیه و چجوری میشه حلش کرد ممنون میشم راهنمایی کنند.
شاید این مشکل خیلی از دوستان هم باشه...پیشاپیش ممنون از پاسخ دهندگان

hamed9090
جمعه 12 مرداد 1397, 23:08 عصر
باید با lazy load یا load more پیاغده سازی کنی..البته این 2 تا یکی هست و نوعی روش بارگذاری اطلاعات به صورت تکه تکه یا کم کم هست که روی برنامه هنگامی که اطلاعات زیاد هست فشار نیاد

mahmood.m
شنبه 20 مرداد 1397, 11:08 صبح
باید با lazy load یا load more پیاغده سازی کنی..البته این 2 تا یکی هست و نوعی روش بارگذاری اطلاعات به صورت تکه تکه یا کم کم هست که روی برنامه هنگامی که اطلاعات زیاد هست فشار نیاد

سلام روز بخیر
من اطلاعات رو به همون صورتی که فرمودید میگیرم مشکل من چیز دیگری است...
برنامه رو اجرا میکنم و اطلاعات جدید 10تا 10تا از سرور گرفته میشه تا اینجا مشکلی ندارم ولی هرچه پایین تر میرم و اطلاعات جدید بیشتری دریافت میکنم اسکرول و رفتن به پایین و بالا کند میشه و به جایی میرسه که برنامه هنگ میکنه و متوقف میشه...
مشکل من اینه لطفا اگه کسی تجربه ای داره و میدونه چطوری این مشکل رو میشه حل کرد ممنون میشم پاسخ بدن

#root#
شنبه 20 مرداد 1397, 23:03 عصر
من نمیگم اینجا stackoverflow هست و حتماً جواب خواهید گرفت، ولی اگر همین سوال رو اونجا بپرسید امتیاز منفی می‌گیرید، کدها و گزارش خطای احتمالی رو قرار ندادین.

farhad_shiri_ex
یک شنبه 21 مرداد 1397, 15:53 عصر
من نمیگم اینجا stackoverflow هست و حتماً جواب خواهید گرفت، ولی اگر همین سوال رو اونجا بپرسید امتیاز منفی می‌گیرید، کدها و گزارش خطای احتمالی رو قرار ندادین.

این یعنی چی که امتیاز منفی میگرفت!!!!
یعنی تو اون سایت سطح سوالات خیلی بالاست!!! ما که سالهاست تو استک عضو هستیم همه جور سوال هم دیدیم امتیاز منفی هم ندیدیم اینهم از اون حرفها بود....


من اطلاعات رو به همون صورتی که فرمودید میگیرم مشکل من چیز دیگری است...
برنامه رو اجرا میکنم و اطلاعات جدید 10تا 10تا از سرور گرفته میشه تا اینجا مشکلی ندارم ولی هرچه پایین تر میرم و اطلاعات جدید بیشتری دریافت میکنم اسکرول و رفتن به پایین و بالا کند میشه و به جایی میرسه که برنامه هنگ میکنه و متوقف میشه...
مشکل من اینه لطفا اگه کسی تجربه ای داره و میدونه چطوری این مشکل رو میشه حل کرد ممنون میشم پاسخ بدن

دوست عزیز !
1- شما از کدوم کتابخانه برای api های دریافت و ارسال از سرور تو اندروید استفاده میکنید!
2- یا خودتون api های اتصال به سرور را در سمت اندروید نوشتید!؟
3- اگر از volley ویا retrofit استفاده مکنید هر دوی این کتابخانه ها مکانیزمی برای کش کردن اطلاعات برای صرفه جویی در ترافیک اینترنت کاربر دارند حتی میتونید از کش اندروید هم استفاده کنید برای اینکه بتونید کنترل کنید که مواردی که در دیدکاربر نیستند در حافظه نگه ندارید.
در ویجت recyclerView خود ویجت کنترل میکنه که در زمان نمایش چندتا از سطرها را attach کنه !
بنابراین اگر برنامه شما در زمان اسکرول داره هنگ میکنه خطایی که میتونه ازهمه محتمل تر باشه OverFlow شدن حافظه گوشی باشه اگر که شما از کش داخلی اندروید استفاده کرده باشید و در زمان تخصیص حافظه کش جانب اعتدال را رعایت نکرده باشید و بیش از حد حافظه گرفته باشید!
ولی به هرحال بهتر هست که پیغام خطایی که در زمان هنگ برنامه دریافت میکنید اینجا بذارید!

#root#
یک شنبه 21 مرداد 1397, 18:43 عصر
این یعنی چی که امتیاز منفی میگرفت!!!! یعنی تو اون سایت سطح سوالات خیلی بالاست!!! ما که سالهاست تو استک عضو هستیم همه جور سوال هم دیدیم امتیاز منفی هم ندیدیم اینهم از اون حرفها بود.... شاید من درست نتونستم منظورم رو بنویسم و شما هم برداشت اشتباه کردید، منظورم این بود که سوالشون بدون کد و گزارش خطا ناقص هست. امتیاز منفی هم نگیره قطعا ایراد می گیرن. امتحانش هم مجانیه 😉

farhad_shiri_ex
دوشنبه 22 مرداد 1397, 12:28 عصر
شاید من درست نتونستم منظورم رو بنویسم و شما هم برداشت اشتباه کردید، منظورم این بود که سوالشون بدون کد و گزارش خطا ناقص هست. امتیاز منفی هم نگیره قطعا ایراد می گیرن. امتحانش هم مجانیه

بله ایراد میگیرن من و شما هم همین کار را کردیم گفتیم بهتر اشکال هم گزارش کنند! ولی تشکر بابت توضیحی که دادید دوست گرامی

mahmood.m
چهارشنبه 24 مرداد 1397, 12:42 عصر
این یعنی چی که امتیاز منفی میگرفت!!!!
یعنی تو اون سایت سطح سوالات خیلی بالاست!!! ما که سالهاست تو استک عضو هستیم همه جور سوال هم دیدیم امتیاز منفی هم ندیدیم اینهم از اون حرفها بود....



دوست عزیز !
1- شما از کدوم کتابخانه برای api های دریافت و ارسال از سرور تو اندروید استفاده میکنید!
2- یا خودتون api های اتصال به سرور را در سمت اندروید نوشتید!؟
3- اگر از volley ویا retrofit استفاده مکنید هر دوی این کتابخانه ها مکانیزمی برای کش کردن اطلاعات برای صرفه جویی در ترافیک اینترنت کاربر دارند حتی میتونید از کش اندروید هم استفاده کنید برای اینکه بتونید کنترل کنید که مواردی که در دیدکاربر نیستند در حافظه نگه ندارید.
در ویجت recyclerView خود ویجت کنترل میکنه که در زمان نمایش چندتا از سطرها را attach کنه !
بنابراین اگر برنامه شما در زمان اسکرول داره هنگ میکنه خطایی که میتونه ازهمه محتمل تر باشه OverFlow شدن حافظه گوشی باشه اگر که شما از کش داخلی اندروید استفاده کرده باشید و در زمان تخصیص حافظه کش جانب اعتدال را رعایت نکرده باشید و بیش از حد حافظه گرفته باشید!
ولی به هرحال بهتر هست که پیغام خطایی که در زمان هنگ برنامه دریافت میکنید اینجا بذارید!

سلام روزتون بخیر
ممنون از پاسخگویی دوست عزیز
من از کتابخانه Volley برای دریافت و ارسال اطلاعات استفاده میکنم و از کش حافظه داخلی اندورید استفاده میکنم اگه لطف کنید بفرمایید که چطور میشه این مشکل رو حل کرد و در رابطه با OverFlow شدن حافظه گوشی هم بیشتر توضیح بدید ممنون میشم
این هنگ و متوقف شدن برنامه همیشگی نیست یعنی بعضی مواقع این اتفاق رخ میده...