最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)ListView異步加載的方法(改進(jìn)版)

 更新時間:2016年08月13日 10:00:28   作者:Hecker385  
這篇文章主要介紹了Android實現(xiàn)ListView異步加載的方法,針對前面介紹的方法進(jìn)行了線程操作的改進(jìn),具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Android實現(xiàn)ListView異步加載的方法。分享給大家供大家參考,具體如下:

@Override
   public View getView(int position, View convertView, ViewGroup parent) {
         …………
     ViewHolder VH = null;
         …………
      VH.mImageView.setTag(position);
      VH.mThumb.setImageDrawable(imageLoader.loadDrawable(position,
        new ImageCallback() {
          public void imageLoaded(Drawable imageDrawable, int position) {
            ImageView imageViewByTag = (ImageView) mList.findViewWithTag(position);
            if (imageViewByTag != null) {
              imageViewByTag.setImageDrawable(imageDrawable);
              }
            }
         }));
  }
  private static LruCache<Long, Drawable> mCache = new LruCache<Long, Drawable>(100);
  public class AsyncImageLoader {
    public Drawable loadDrawable(final int position, final ImageCallback callback){
      Drawable d = null;
      d = mCache.get(position);
      if (d == null) {
        final Handler handler=new Handler(){
          @Override
          public void handleMessage(Message msg) {
            callback.imageLoaded((Drawable) msg.obj, position);
          }
        };
        Thread t = new Thread(){
          public void run() {
            Drawable drawable = Utils.getDrawable(mContext, position, 1, mMyDefaultIcon);
            Drawable value = mCache.get(position);//cache有可能已經(jīng)被更改了,所以重新取一次
            if (value == null) {
              mCache.put(position, drawable);
            } else {
              drawable = value;
            }
            handler.sendMessage(handler.obtainMessage(0,drawable));
          };
        };
        t.setPriority(Thread.MIN_PRIORITY);
        t.start();
        return mMyDefaultIcon;
      } else {
        return d;
      }
    }
  }
  public interface ImageCallback{
    public void imageLoaded(Drawable imageDrawable, int position);
  }

這個是在前面一篇http://m.fzitv.net/article/90408.htm基礎(chǔ)上修改的。主要為了加入LruCache

后來發(fā)現(xiàn),這種方法要不停的開辟新的線程,效率并不是很高。最后改為加入一后臺線程,不停從后進(jìn)先出隊列中取出任務(wù)進(jìn)行處理。

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android操作SQLite數(shù)據(jù)庫技巧總結(jié)》、《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

  • 2014值得推薦的10個移動 Web 應(yīng)用程序開發(fā)框架

    2014值得推薦的10個移動 Web 應(yīng)用程序開發(fā)框架

    今天這篇文章向大家推薦10大優(yōu)秀的移動 Web 開發(fā)框架,幫助開發(fā)者更加高效的開發(fā)移動Web應(yīng)用。
    2014-08-08
  • Android實現(xiàn)快速滾動FastScrollView效果

    Android實現(xiàn)快速滾動FastScrollView效果

    這篇文章主要介紹了Android實現(xiàn)快速滾動FastScrollView效果,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Android自定義View實現(xiàn)簡易畫板功能

    Android自定義View實現(xiàn)簡易畫板功能

    這篇文章主要介紹了Android自定義View實現(xiàn)簡易畫板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Android自定義Gradle插件的詳細(xì)過程

    Android自定義Gradle插件的詳細(xì)過程

    Groovy語言是一種jvm語言,最終也是編譯成class文件然后在jvm上執(zhí)行,所以所有的Java語言的特性Groovy都支持,我們可以完全混寫Java和Groovy,對Android自定義Gradle插件相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • Android Notification通知使用詳解

    Android Notification通知使用詳解

    消息通知(Notification)是Android系統(tǒng)中比較有特色的一個功能,當(dāng)某個應(yīng)用程序希望用戶發(fā)出一些提示信息,而該應(yīng)用又不在前臺運行時,就可以借助通知來實現(xiàn)
    2022-09-09
  • Android利用RecyclerView實現(xiàn)全選、置頂和拖拽功能示例

    Android利用RecyclerView實現(xiàn)全選、置頂和拖拽功能示例

    列表控件可以說是我們絕大部分App中都會使用的,為了提升交互樂趣,我們經(jīng)常需要在列表中加入置頂、拖拽等操作,下面這篇文章主要介紹了Android利用RecyclerView如何實現(xiàn)全選、置頂和拖拽功能的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • Android創(chuàng)建懸浮窗的完整步驟

    Android創(chuàng)建懸浮窗的完整步驟

    這篇文章主要給大家介紹了關(guān)于Android創(chuàng)建懸浮窗的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Android源碼學(xué)習(xí)之組合模式定義及應(yīng)用

    Android源碼學(xué)習(xí)之組合模式定義及應(yīng)用

    將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu),使得用戶對單個對象和組合對象的使用具有一致性,需要了解的朋友可以參考下
    2013-01-01
  • Android應(yīng)用中通過Layout_weight屬性用ListView實現(xiàn)表格

    Android應(yīng)用中通過Layout_weight屬性用ListView實現(xiàn)表格

    這篇文章主要介紹了Android應(yīng)用中通過Layout_weight屬性用ListView實現(xiàn)表格的方法,文中對Layout_weight屬性先有一個較為詳細(xì)的解釋,需要的朋友可以參考下
    2016-04-04
  • Android代碼實現(xiàn)AdapterViews和RecyclerView無限滾動

    Android代碼實現(xiàn)AdapterViews和RecyclerView無限滾動

    這篇文章主要為大家詳細(xì)介紹了Android代碼實現(xiàn)AdapterViews和RecyclerView無限滾動的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

石城县| 湘潭县| 阿鲁科尔沁旗| 河池市| 上虞市| 安西县| 浮梁县| 南陵县| 叶城县| 扬州市| 甘南县| 钟山县| 金堂县| 板桥市| 大城县| 穆棱市| 阳泉市| 定州市| 黄陵县| 万山特区| 山丹县| 尼木县| 中山市| 金华市| 特克斯县| 肃南| 武宣县| 江阴市| 彭州市| 汾西县| 定边县| 仙游县| 铁力市| 中方县| 清水河县| 五家渠市| 怀集县| 大厂| 新建县| 云阳县| 榆树市|