iOS 高效的分頁載入實現示例

2022-09-24 09:45:14 字數 1445 閱讀 2975

今天在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代表當前已經載入了多少頁的資料。預...