PDA

View Full Version : سرعت پیمایش لیست ویو خیلی کمه چی کار کنم؟



mrtzxxx
جمعه 15 اسفند 1393, 20:48 عصر
با سرعت خدمت دوستان . یه لیست ویو دارم که هر آیتمش یه عکس هم داره اول که باز میکردم خطا میگرفت out of memoy . بعد از یه thread استفاده کردم حالا خطا نمیده ولی خیلی کند و تیکه تیکه بالا پایین میره . راه دیگه ای هست که بهتر بشه؟

keyhan.taktaz
جمعه 15 اسفند 1393, 23:21 عصر
از pickaso استفاده کن
برا کانکشن هاتم از volley به صورت singltone و عکس هارو 10 تا 10 تا لود کن

tux-world
شنبه 16 اسفند 1393, 00:21 صبح
من هم لیست ویو دارم هزار تا ردیف با عکس ولی از ترد استفاده نکردم. شما کدی که نوشتید رو بزارید ببینیم و اینکه برای چه منظوری میخوایید و چه کاری دقیقا میخوایید انجام بدید

abbasalim
شنبه 16 اسفند 1393, 10:12 صبح
سلام .احتمالا در هر مرتبه داخل متد getview در اداپترتون مقادیر رو فراخونی میکنید درصورتیکه باید چک کنید اگر view شما null هست اینکار رو بکنید وگرنه که view قبلی رو برگردونید

mrtzxxx
شنبه 16 اسفند 1393, 22:23 عصر
سلام .احتمالا در هر مرتبه داخل متد getview در اداپترتون مقادیر رو فراخونی میکنید درصورتیکه باید چک کنید اگر view شما null هست اینکار رو بکنید وگرنه که view قبلی رو برگردونید

اوکی . راه حلتون خیلی عالی بود . ولی چه طوری میتونم null بودن یا نبودنشو چک کنم؟

atpf67
یک شنبه 17 اسفند 1393, 09:11 صبح
if(convertView == null){

}else{
return convertView;
}

mrtzxxx
پنج شنبه 21 اسفند 1393, 00:22 صبح
دوستان متاسفانه نتونستم درستش کنم . این کدمه یه نگاه بندازین بی زحمت.

@SuppressWarnings("rawtypes")
class AAD extends ArrayAdapter{
@SuppressWarnings("unchecked")
public AAD() {
super(Create_song.this,R.layout.item,items);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater in=getLayoutInflater();
convertView = in.inflate(R.layout.item, parent, false);
holder.art=(ImageView) convertView.findViewById(R.id.imageView_round);
holder.title=(TextView) convertView.findViewById(R.id.title);
holder.subtitle=(TextView) convertView.findViewById(R.id.artist);
holder.duration=(TextView) convertView.findViewById(R.id.duration);
holder.chk= (CheckBox) convertView.findViewById(R.id.check);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.title.setTypeface(font);
holder.title.setText(title_song[position]);
holder.subtitle.setText(artist_song[position]);
holder.duration.setText(util.milliSecondsToTimer(L ong.parseLong(duration_song[position])));
holder.art.setImageURI(Uri.parse(getimage(position )));


convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
holder.title.startAnimation(blink);
holder.chk.startAnimation(blink);
holder.subtitle.startAnimation(blink);
holder.duration.startAnimation(blink);
if (holder.chk.isChecked()){
holder.chk.setChecked(false);
db_music.remove_song(position, holder.title.getText().toString());
}else{
holder.chk.setChecked(true);
db_music.add_song(position, holder.title.getText().toString(), data_song[position]);
}
}
});
return convertView;
}
private class ViewHolder {
TextView title;
TextView subtitle;
TextView duration;
ImageView art;
CheckBox chk;
}
}

mrtzxxx
پنج شنبه 21 اسفند 1393, 21:14 عصر
کسی نتونست کمک کنه؟