今天在review**的時候發現之前的tableview 和 collectview 的分頁載入邏輯還有優化的餘地,於是進行了優化。
一、tableview的分頁載入的**對比
沒有優化之前的**如下:
[strongself.tableview.mj_footer endrefreshing];
[strongself.articlearr addobjectsfromarray:feedlist];
[strongself.tableview reloaddata];
優化之後的**如下:
nsmutablearray *indexpaths = [nsmutablearray array];
[feedlist enumerateobjectsusingblock:^(id obj, nsuinteger idx, bool *stop) ];
[strongself.tableview.mj_footer endrefreshing];
[strongself.articlearr addobjectsfromarray:feedlist];
[strongself.tableview beginupdates];
[strongself.tableview insertrowsatindexpaths:indexpaths withrowanimation:uitableviewrowanimationnone];
[strongself.tableview endupdates];
二、collectonview的分頁載入的**對比
沒有優化之前的**如下:
[strongself.feedlist addobjectsfromarray:feedlist];
if (feedlist.count < kpagesize) else
[strongself.collectionview reloaddata];
優化之後的**如下:
nsmutablearray *indexpaths = [nsmutablearray array];
[feedlist enumerateobjectsusingblock程式設計客棧:^(id _nonnull obj, nsuinteger idx, bool * _nonnull stop) ];
[strongself.feedlist addobjectsfromarray:feedlist];
if (feedlist.count < kpagesize) else
[strongself.collectionview insertitemsatindexpaths:indexpaths];
總結:相比較之下,優化之後看似**量增加了少許,但是從理論上分頁載入的效能更好了。之前分頁載入使用的全域性重新整理,優化之後改用了區域性重新整理。從而效能得到提公升。
本文標題: ios 高效的分頁載入實現示例
本文位址:
高效的MySQL分頁
size large percona performance conference 2009上,來自雅虎的幾位工程師帶來了一篇 efficient pagination using mysql 的報告,有很多亮點,本文是在原文基礎上的進一步延伸。首先看一下分頁的基本原理 mysql explain ...
Bitmap的高效載入
如何高效的載入乙個bitmap,這是乙個很有意義的話題,因為在我們開發的過程中,經常會遇到這樣錯誤 outofmemoryerror 這樣的錯誤,很多時候都是因為載入bitmap出現的記憶體溢位.如何載入乙個bitmap bitmap在andriod中指的是一張,那麼如何載入乙個?bitmapfac...
在listview中,實現 分頁載入 非同步載入
public voidonscroll abslistview view,intfirstvisibleitem,intvisibleitemcount,inttotalitemcount 語句解釋 為了頁面清晰,本範例僅僅將核心 列出來。變數currentpage代表當前已經載入了多少頁的資料。預...