iOS tableView效能優化

2021-08-03 10:39:16 字數 2501 閱讀 6369

/**

* 什麼時候呼叫:每當有乙個cell進入視野範圍內就會呼叫

*/- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

// 3.覆蓋資料

cell.textlabel.text = [nsstring stringwithformat:@"testdata - %zd", indexpath.row];

return cell;

}

// 定義重用標識

nsstring *id = @"cell";

// 在這個方法中註冊cell

- (void)viewdidload

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

// 0.重用標識

// 被static修飾的區域性變數:只會初始化一次,在整個程式執行過程中,只有乙份記憶體

static

nsstring *id = @"cell";

// 1.先根據cell的標識去快取池中查詢可迴圈利用的cell

uitableviewcell *cell = [tableview dequeuereusablecellwithidentifier:id];

// 2.覆蓋資料

cell.textlabel

.text = [nsstring stringwithformat:@"cell - %zd", indexpath.row];

return cell;

// 分割線顏色

self

.tableview

.separatorcolor = [uicolor redcolor];

// 隱藏分割線

self

.tableview

.separatorstyle = uitableviewcellseparatorstylenone;

// tableview有資料的時候才需要分割線

// 開發小技巧:快速取消分割線

self

.tableview

.tablefooterview = [[uiview alloc] init];

// 取消選中的樣式(常用) 讓當前 cell 按下無反應

cell.selectionstyle = uitableviewcellselectionstylenone;

// 設定選中的背景色

uiview *selectedbackgroundview = [[uiview alloc] init];

selectedbackgroundview.backgroundcolor = [uicolor redcolor];

cell.selectedbackgroundview = selectedbackgroundview;

// 設定預設的背景色

cell.backgroundcolor = [uicolor bluecolor];

// 設定預設的背景色

uiview *backgroundview = [[uiview alloc] init];

backgroundview.backgroundcolor = [uicolor greencolor];

cell.backgroundview = backgroundview;

// backgroundview的優先順序 > backgroundcolor

// 設定指示器

// cell.accessorytype = uitableviewcellaccessorydisclosureindicator;

cell.accessoryview = [[uiswitch alloc] init];

3.在控制器中

4.在xmgdealcell中

xib自定義cell

3.在控制器中

4.在xmgdealcell中

**自定義cell(使用frame)

在layoutsubviews方法中設定子控制項的frame

需要提供乙個模型屬性,重寫模型的set方法,在這個方法中設定模型資料到子控制項

2.在控制器中

**自定義cell(使用autolayout)

需要提供乙個模型屬性,重寫模型的set方法,在這個方法中設定模型資料到子控制項

2.在控制器中

非等高的cell

iOS TableView的效能優化

首先,uitableview 為了效能的優化,使用了復用cell的機制。tableviewcell的復用機制的基礎在於為tableviewcell 設定復用標示,reuseridentifier.tableview 存在兩個佇列 可見cell visiablecells 和 可重用的cell reu...

FLASH ActionScript 效能優化

一.圖形方面的優化 1.減少同時在螢幕上物體的個數 2.儘量減少螢幕需要重畫的範圍。3.盡量避免全屏滾動 4.保持幀數在16 20,每一幀都連續,比將幀數設定的很高,但是每一幀的計算超過幀時間,讓人感覺更舒服。5.如果乙個物體不需要顯示,盡量將他從螢幕上刪除,而不是將他設定成不可見。因為即使不可見的...

Flink State Rescale效能優化

2017年社群有一篇部落格就比較深入的介紹了operator 和 keyed state的rescale的實現,感興趣的話可以去了解下。這兩張圖對比了是否基於keygroup來划區的乙個差別,社群中的版本使用的是基於keygroup的版本實現的,可以看到可以減少對於資料的random的訪問。但是從b...