مشکل با اسکرول سریع در recyclerview در هنگام استفاده از کتابخانه های لود تصویر

ساخت وبلاگ

با سلام و خسته نباشید خدمت همه عزیزان

وقتی اسکرول recyclerview رو میدم به پایین 20تای اولش رو سریع میره پایین ولی بقیه اش که میخواد رد کنه دچار هنگ کردن میشه با تیک رد میکنه و وقتی به اخر میرسه و میخوایم بیایم بالا برنامه کرش میکنه ؛ مشکل بنظر میاد از کتابخانه Universal Image Downloader هستش که مموری رو پر میکنه و کرش میکنه ، در ضمن اینم اضافه کنم که در بعضی مواقع تصاویر مربوط به آیتم های دیگه روی آیتم های دیگه ای قرار میگیره تا وقتی که لود تصوی رآیتم مورد نظر تکمیل بشه.

لینک به ایستک 1 , لینک به استک 2
این آموزش رو دیدم

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

با تشکر از همه عزیزان

کدهای مربوطه :

قسمت تعریف کتابخونه


public static void setupUniversalImageLoader(Context context) {
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.showImageForEmptyUri(R.mipmap.ic_launcher)
//.resetViewBeforeLoading(true) //
//.delayBeforeLoading(100) //
.cacheInMemory(true)
.cacheOnDisk(true)
.resetViewBeforeLoading(true)
.bitmapConfig(Bitmap.Config.RGB_565)
//.showImageOnLoading(R.mipmap.ic_launcher)
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
//.defaultDisplayImageOptions(defaultOptions)
.threadPriority(3/*Thread.NORM_PRIORITY - 2*/)
.denyCacheImageMultipleSizesInMemory()
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.diskCacheSize(50 * 1024 * 1024) // 50 Mb
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();
com.nostra13.universalimageloader.core.ImageLoader .getInstance().init(
config);
}

قسمت مربوط به آداپتور


try {
imag_link = imag_link.replaceAll(" ", "%20");
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(imag_link, holder.img_l1/*,defaultOptions*/);

Bitmap bmp = imageLoader.loadImageSync(imag_link); //load image darone bitmap
int h_bmp = bmp.getHeight(); //bedast avordane tole tasvir load shode
int w_bmp = bmp.getWidth(); //bedast avordane arze tasvir load shode

ViewGroup.LayoutParams params1 = holder.img_l1.getLayoutParams();
params1.height = (h_bmp * (w_bmp / 2) / w_bmp) * 4 / 3;
//ertef * arze feli / arze vagheye //jelogery az keshidane tasvir//
params1.width = w_bmp / 2;

holder.img_l1.setLayoutParams(params1);

imageLoader.displayImage(imag_link, holder.img_l1/*,defaultOptions*/);

} catch (Exception e) {

}

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : مشکل با اسکرول موس, نویسنده : محمد رضا جوادیان programers بازدید : 153 تاريخ : چهارشنبه 10 شهريور 1395 ساعت: 3:29