第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

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

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

正在回答

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 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Android必學(xué)-異步加載
  • 參與學(xué)習(xí)       50618    人
  • 解答問題       326    個

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

進(jìn)入課程

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

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號