亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

異步加載怎么開啟多線程?

我發現一個問題,使用異步加載圖片是單線程,不能同時加載多張圖片,而且必須要等前一個圖片加載完后才能開始加載后面一張,影響速度;而用多線程的話,多張圖片基本上都是同時加載出來的,速度效率快很多。那么問題來了,在異步加載中怎么使用多線程?

正在回答

1 回答

public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{
????String?url?=?mData.get(position);
????ViewHolder?viewHolder?=?null;
????if?(convertView?==?null)?{
????????viewHolder?=?new?ViewHolder();
????????convertView?=?mInflater.inflate(R.layout.listview_item,?null);
????????viewHolder.imageView?=?(ImageView)?convertView.findViewById(R.id.iv_lv_item);
????????convertView.setTag(viewHolder);
????}?else?{
????????viewHolder?=?(ViewHolder)?convertView.getTag();
????}
????viewHolder.imageView.setTag(url);
????viewHolder.imageView.setImageResource(R.drawable.ic_launcher);
????mImageLoader.showImageByThread(viewHolder.imageView,?url);
????return?convertView;
}
?
?
?
private?class?ImgHolder?{
????public?Bitmap?bitmap;
????public?ImageView?imageView;
????public?String?url;
??
????public?ImgHolder(ImageView?iv,?Bitmap?bm,String?url)?{
????????this.imageView?=?iv;
????????this.bitmap?=?bm;
????????this.url?=?url;
????}
}

public?void?showImageByThread(final?ImageView?imageView,?final?String?url)?{
?
????mHandler?=?new?Handler()?{
????????@Override
????????public?void?handleMessage(Message?msg)?{
????????????ImgHolder?holder?=?(ImgHolder)?msg.obj;
????????????if?(holder.imageView.getTag().equals(holder.url))?{
????????????????holder.imageView.setImageBitmap(holder.bitmap);
????????????}
????????}
????};
????new?Thread()?{
????????@Override
????????public?void?run()?{
????????????Bitmap?bitmap?=?getBitmapFromUrl(url);
????????????Message?message?=?Message.obtain();
????????????message.obj?=?new?ImgHolder(imageView,?bitmap,?url);
????????????mHandler.sendMessage(message);
????????}
????}.start();
}


這是老師的代碼。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android必學-異步加載
  • 參與學習       50616    人
  • 解答問題       333    個

了解Android中的異步加載處理方法,這是面試問的最多的知識點

進入課程

異步加載怎么開啟多線程?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號