Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 介紹一個提高Android ListView或GridView的Smoothie庫

介紹一個提高Android ListView或GridView的Smoothie庫

編輯:關於Android編程

翻譯 By Long Luo

原文鏈接:Introducing Smoothie

smoothie

Pattrn UI中的很大一部分是在滑動時從雲端獲取圖片列表。所以我花了相當長的一段時間去調試,以獲得滑動時的體驗盡可能的流暢。在過去的幾周裡,我一直在試圖解耦代碼,完成了一個很小的庫:Smoothie。

Smoothie提供了一個簡單的API來異步加載ListView/GridView的項目,以和UI線程分離。它做了所有你所期望做的事情,加載項目變得可見,取消要求回收的View對應的項目等。但它所完成的還不止這些。

Smoothie是手勢識別:在Fling手勢時,它會必須發起加載項目請求;在滑動列表時,當你的手指按下時,將會啟用增量加載項目請求。此外,它支持當前屏幕外項目預加載功能,當你滑動時,可以減少加載占位符類型的項目數。說穿來,Smoothie使用了一個支持可以阻塞隊列動態優先執行的的線程池。在屏幕上滑動時,屏幕外即將可見的項目加載請求將動態的獲取更高的優先級。

那麼,怎麼使用它呢?很簡單:

1. 首先在你的布局文件中增加一個AsyncListView或者AsyncGridView,只需要增加一個額外傳遞的方法到響應的父類中。


2. 然後實現一個和你的應用程序加載和顯示項目邏輯一致的ItemLoader。你將需要重寫下面四種方法:getItemParams(), loadItem(), loadItemFromMemory()以及displayItem()。


3. 最後在ItemLoader中建一個ItemManager,同時把它和目標AsyncListView或者AsyncGridView關聯起來。


在你的ListView/GridView控件需要異步加載時,考慮下把Smoothie作為你的輕量骨架。您可以輕松地連接您自己的圖像加載/緩存框架在裡面。例如,一個典型的示例應用,Android-BitmapCache實現了ItemLoader使用一個簡單的淡入淡出的動畫來顯示圖像。

除了在代碼中的API文檔,還可以看看App示例,一邊更好地了解如何使用該庫。請記住,API是?不是最終版本哦。目前反響是非常好的!

Enjoy it:-)

Long Luo at AM11:30 ~ 12:42 Feb. 15th, 2014 @Shenzhen, China.


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved