画像を非同期でロードする前に、大量の ListViews を実行しました。しかし、これは遅れています
これをログに記録すると、小さなラグが発生します
09-19 21:13:32.980: I/endeffect(23824): AbsListView.onMeasure(), getWidth()=1080, getHeight()=561, this=android.widget.ListView{43c94550 VFED.VC. ......ID 0,120-1080,681 #7f0501c1 app:id/sliding_drawer_lv}
コードは次のとおりです。
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder mViewHolder;
long ts = System.currentTimeMillis();
if(convertView==null){
convertView = inflater.inflate(R.layout.list_item_routes_search, null);
mViewHolder = new ViewHolder();
mViewHolder.pictureNIV = (NetworkImageView)convertView.findViewById(R.id.my_fav_route_image_iv);
mViewHolder.pictureNIV.setVisibility(View.GONE);
mViewHolder.titleTv=(TextView)convertView.findViewById(R.id.my_fav_route_item_title_tv);
mViewHolder.eventTv=(TextView)convertView.findViewById(R.id.my_fav_route_item_event_tv);
mViewHolder.createdTv=(TextView)convertView.findViewById(R.id.my_fav_route_item_created_tv);
mViewHolder.createdTv=(TextView)convertView.findViewById(R.id.my_fav_route_item_created_tv);
App.setFont('m', mViewHolder.titleTv,mViewHolder.eventTv);
App.setFont('l', mViewHolder.createdTv);
mViewHolder.extraViewLL= (LinearLayout) convertView.findViewById(R.id.my_fav_route_item_extra_ll);
mViewHolder.contentViewLL = (LinearLayout) convertView.findViewById(R.id.my_fav_route_item_content_ll);
mViewHolder.closeBtn = (Button) convertView.findViewById(R.id.my_fav_route_item_close_btn);
mViewHolder.favoriteTb = (ToggleButton)convertView.findViewById(R.id.my_fav_route_item_extra_fav_tb);
mViewHolder.shareBtn = (Button)convertView.findViewById(R.id.my_fav_route_item_extra_share_btn);
mViewHolder.rlp = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
convertView.setTag(mViewHolder);
}
else{
mViewHolder = (ViewHolder) convertView.getTag();
}
次に、Volleys NetworkImageView で画像を設定しましたが、delayed で Aq も試しました。
mViewHolder.pictureNIV.setImageUrl(getItem(position).images.getImageNormal(),App.mVolleyImageLoader);