2016-09-22 6 views
1

私は、ラウンドコーナー半径のカスタムテキストビューを持っています。楽器でテストした後、私はそれを初期化するのに53msかかりますか?私は、53msは1つの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をテストしてみましょう、我々は、UI要素のための通常のinit時間である結論82秒

enter image description here

であることがわかります。

関連する問題