2016-09-22 40 views
1

我有一個自定義文本視圖與圓角半徑。在儀器測試後,我發現需要53ms來初始化它(或者是?)。我認爲53ms對於一個UI組件來說有點多,所以我想知道是否有更快的方法來做到這一點?以下是我的儀器輸出和customTextView代碼。自定義TextView阻止主線程

import UIKit 

class CustomTextView: UITextView { 

    private func initialize() { 
     self.layer.borderColor = UIColor(red: 225.0/255, green: 225.0/255, blue: 225.0/255, alpha: 1).CGColor 
     self.layer.borderWidth = 1.0 
     self.layer.cornerRadius = 5 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
     initialize() 
    } 
} 

timeProfile

+0

如果不設置圖層的屬性,您看到了多少? – Injectios

回答

1

我辦一些調查:

初始時間爲83毫秒。

enter image description here

首先,如果我們爲層做一些計算所以它是82毫秒,就能節約1毫秒。

private func initialize() { 
     self.layer.borderColor = UIColor(red: 0.88, green: 0.88, blue: 0.88, alpha: 1).CGColor 
     self.layer.borderWidth = 1.0 
     self.layer.cornerRadius = 5 
    } 

在禁用initialize()方法後,它是75毫秒。

enter image description here

所以讓我們只測試正UITextView,我們看到它是82秒

enter image description here

結論是UI元素正常初始化時間。