南京學思XSuperNEST中ListView優化

2021-07-07 07:51:45 字數 869 閱讀 2693

xsupernest用listview把資料展示給使用者,為了更好的增強使用者體驗,我們要對其進行進一步的優化。

1、首先,雖然大家都知道,還是提一下,利用好 convertview 來重用 view,切忌每次 getview() 都新建。listview 的核心原理就是重用 view。listview 中有乙個**器,item 滑出介面的時候 view 會**到這裡,需要顯示新的 item 的時候,就盡量重用**器裡面的 view。

2、利用好 view type,例如你的 listview 中有幾個型別的 item,需要給每個型別建立不同的 view,這樣有利於 listview 的**,當然型別不能太多;

3、盡量讓 itemview 的 layout 層次結構簡單,這是所有 layout 都必須遵循的

4、善用自定義 view,自定義 view 可以有效的減小 layout 的層級,而且對繪製過程可以很好的控制;

5、盡量能保證 adapter 的 hasstableids() 返回 true,這樣在 notifydatasetchanged() 的時候,如果 id 不變,listview 將不會重新繪製這個 view,達到優化的目的;

6、每個 item 不能太高,特別是不要超過螢幕的高度,可以參考 facebook 的優化方法,把特別複雜的 item 分解成若干小的 item,特別推薦看一下這個文章:

7、為了保證 listview 滑動的流暢性,getview() 中要做盡量少的事情,不要有耗時的操作。特別是滑動的時候不要載入,停下來再載入,這個庫可以幫助你 glide:

8、使用 recycleview 代替。 listview 每次更新資料都要 notifydatasetchanged(),有些太暴力了。recycleview 在效能和可定製性上都有很大的改善,推薦使用。

Redis 學與思系列 3

列表用來儲存有序的元素,這裡的有序指加入列表的順序 redis 支援對列表2端進行插入和彈出,還可以獲取指定範圍,指定下標的元素。複製 這裡簡單的介紹列表的幾種操作指令 命令 rpush key value value 將乙個或多個值 value 插入到列表 key 的表尾 最右邊 如果有多個 va...

再思即學式和預學式

為什麼又把即學式和預學式這個剛進提高班時的話題拿出來說嘞?這還得從最近幾天幫學校圖書管維護資料庫說起。其實整個的維護過程沒有什麼太大的技術難度,無非就是寫幾個批處理或者設定一下計畫任務什麼的。唯一可以有所學習的地方是資料庫方面,學校圖書館用的資料庫是 sybase 以前只是聽過沒有接觸過,覺得挺神秘...

南京納思書院 贏得文化課,邁進藝術殿堂

在高中三年的學習中,藝術類考生由於需要花費大量時間主攻專業課,在這有限時間內如何取得優秀的文化課成績,成fzmabhpk了眾多藝術類考生的當務之急。每年都有不少藝考生會把精力放在藝術專業的學習上,而忽略了文化課的學習,更有甚者等到校考結束才開始文化複習。但是藝考中重要的不只是藝考成績,文化課分數不過...