bahman2012

سوال :استفاده از روش بازیافتی جهت کم کردن پردازش cpu

1 ارسال در این موضوع قرار دارد

سلام دوستان یه سوال خیلی مهم داشتم من یه لیست ویوی دارم که  هم عکس داره هم عنوان

چند بار که اسکرول پشت  هم میکنم  بعد چند بار سرعت اسکرول کم کم ، کم میشه بعد هنگ میکنه میزنه بیرون

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

همه جا ازین قطعه کد توی لیست ویو و گرید ویو استفاده کردنند منم اومدم استفده کنم  نمیدونم  کجای else رو اشتباه نوشتم

کد:

if (convertView == null) {}else{}

اینم همون بخشه که استفاده کردم البته با // موقتا غیر فعال کردم

کد:

public View getView(final int position, View convertView, ViewGroup parent) {                        View row;        شروعشو از اینجا گذاشتم    // if (convertView == null) {            LayoutInflater in = getLayoutInflater();                        row = in.inflate(R.layout.row_storys, parent,false);                        TextView name = (TextView) row.findViewById(R.id.txt_name_story);            ImageView pic =(ImageView) row.findViewById(R.id.pic_r_stroy);            name.setText(list.get(position));            name.setTypeface(MainActivity.font);                        String imageName  = ax.get(position);            int resID = getResources().getIdentifier(imageName, "drawable", getPackageName());            pic.setBackgroundResource(resID);            final ImageView star = (ImageView) row.findViewById(R.id.star);            if (fav.get(position).equals("1")) {                star.setImageResource(R.drawable.star_on);            }else {                star.setImageResource(R.drawable.star_of);            }                        star.setOnClickListener(new OnClickListener() {                                @Override                public void onClick(View v) {                                        db.open();                                        if (fav.get(position).equals("1")) {                        db.beroozresani_doostdashtaniha("datastorys",list.get(position), "0");                        star.setImageResource(R.drawable.star_of);                        //fav.get(position).equals("0");                    }else {                        db.beroozresani_doostdashtaniha("datastorys",list.get(position), "1");                        star.setImageResource(R.drawable.star_on);                        //fav.get(position).equals("1");                    }                    db.close();                                        }            });                                                اینجا منظور منه    //}else{            //    row  = (View) convertView;            //}            return row;        }            }

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری