欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

UITableView性能提升和優(yōu)化(第3章)之一-創(chuàng)新互聯(lián)

在本章,你將做下面這些事情:

公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出西塞山免費(fèi)做網(wǎng)站回饋大家。
  • 在實(shí)例中使用第2章介紹的測試工具

  • 在例子中一步一步的對滾動(dòng)性能進(jìn)行優(yōu)化

  • 使用以下技術(shù)對UITableView進(jìn)行優(yōu)化

       1)  使用基本的技術(shù)優(yōu)化UITableView中簡單的cells

       2)  通過代碼使用核心技術(shù)在cell中繪制view

       3)  使用基本的技術(shù)來優(yōu)化需要像正在編輯,重排序等動(dòng)畫的cell

       4)  開發(fā)者需要知道的一些其他技術(shù)

iPhone應(yīng)用程序通常通過列表的形式來顯示數(shù)據(jù)。蘋果為開發(fā)者提供了非常好用的工具:UITableView 和 UITableViewCell。如果開發(fā)者只是想使用一些基本的功能,如在左邊顯示一張小圖片,中間顯示文本,那么蘋果提供的默認(rèn)控制就能夠很好的滿足要求了。但是如果你想自定義一些東西,比如顯示2張或3張圖片,把文本放在不同的地方,你就會遇到問題。如果這樣的話,你遲早會遇到UITableView性能方面的一些問題,尤其是在像iPhone 3G這種老設(shè)備上。

例子介紹

在這個(gè)例子中,我會基于兩個(gè)主要因素來衡量性能:UITableView dequeue一個(gè)cell,創(chuàng)建一個(gè)cell的速度,或cell返回給操作系統(tǒng)的速度;操作系統(tǒng)渲染你的cell,然后顯示在機(jī)器上的速度。第一個(gè)使用NSLog就可以測量出來;第二個(gè)比較復(fù)雜,只能通過CoreAnimation進(jìn)行測量。

我將用兩個(gè)不同的例子來說明問題。一個(gè)只包含了圖片和文字;另一個(gè)包含了很多復(fù)雜的子view。通過這兩個(gè)例子,你會發(fā)現(xiàn)有很多不同的方法來優(yōu)化UITableView滾動(dòng)時(shí)的性能。

在本章結(jié)束時(shí),我會列出很多重要的知識點(diǎn),由于時(shí)間有限,我不會做詳細(xì)的介紹。這些并不是一些常見的錯(cuò)誤,但是如果某個(gè)開發(fā)者因?yàn)榇中亩噶似渲械囊恍╁e(cuò)誤,有可能花上一整天的時(shí)間測試和查找問題。我想確保你已經(jīng)有足夠的技能和知識來處理各種情況。

有時(shí)候優(yōu)化非常簡單,只需要在代碼中做一些小小的改動(dòng)。然而在其他情況下,比如第二個(gè)例子,你需要重寫整個(gè)代碼來,從而達(dá)到更好的性能。我希望在例子介紹完后,你對整個(gè)程序的架構(gòu)有一個(gè)非常清晰的認(rèn)識,這樣你在開始的時(shí)候就能夠做出正確的決定,而不需要重寫代碼。

復(fù)習(xí)測試工具

在本章,你將使用CoreAnimation工具對iphone OS的渲染性能進(jìn)行測試。這能幫助你了解問題是出現(xiàn)在計(jì)算過程中還是在顯示過程中。第2章已經(jīng)介紹了這個(gè)工具,所以本章只進(jìn)行一個(gè)簡短的回顧。

圖 3-1 顯示了CoreAnimation工具的主視圖,運(yùn)行時(shí)有3個(gè)部分你需要觀察,圖3-2顯示了性能的參數(shù)值。

UITableView性能提升和優(yōu)化(第3章) 之一

圖 3-1 CoreAnimation 工具的主要部分

UITableView性能提升和優(yōu)化(第3章) 之一

圖 3-2 最近的性能顯示

第一個(gè)例子

第一個(gè)例子將會一步一步的展示如何優(yōu)化UITableView的滾動(dòng)性能。最初版本的源代碼包含了我從很多開發(fā)者那邊搜集到的性能使用上的錯(cuò)誤。在這個(gè)過程中,你會看到在每一步優(yōu)化后,性能都會有所提升。

介紹第一個(gè)例子

如圖3-3,你有一個(gè)普遍而又實(shí)際的問題,那就是你需要開發(fā)一個(gè)UITableView,在每一個(gè)cell中有一張圖片和一個(gè)文本塊。我將帶你查看這個(gè)例子的源代碼。讓我們看一下類似Facebook的應(yīng)用;應(yīng)用需要一張圖片顯示頭像,需要另一張圖片顯示用戶分享的鏈接內(nèi)容。這個(gè)應(yīng)用同樣也需要一張更小的圖片來顯示cell中的圖標(biāo)。在第一個(gè)測試中,請參考SlowPerformanceTableView這個(gè)工程。

UITableView性能提升和優(yōu)化(第3章) 之一

圖 3-3 第一個(gè)例子的應(yīng)用

標(biāo)準(zhǔn)測試

在項(xiàng)目開始之前,你必須知道你的最終目標(biāo);在這個(gè)例子中,你要達(dá)到的目標(biāo)就是有一個(gè)很好的性能,當(dāng)在滾動(dòng)和使用你的應(yīng)用時(shí),你可以帶給用戶一個(gè)很好的體驗(yàn)。因此,通過運(yùn)行一個(gè)正常的沒有自定義的UITableViewCell,它會按需加載一張簡單的圖片并會對圖片進(jìn)行重用,表格 3-1顯示了運(yùn)行時(shí)的日志。

UITableView性能提升和優(yōu)化(第3章) 之一

表格 3-1 運(yùn)行例子的結(jié)果

用CoreAnimation進(jìn)行測試,每秒渲染的幀數(shù)(fps)的最佳性能是60fps(數(shù)字越高,性能越好)。對于一個(gè)標(biāo)準(zhǔn)的UITableViewCell,通常的速度在 55-60fps之間;這應(yīng)該是你的目標(biāo)之一。另一個(gè)目標(biāo)是確保預(yù)加載的時(shí)間足夠的小。當(dāng)總體時(shí)間減少了,cell預(yù)加載的時(shí)間同樣會減少。但是,減少cell預(yù)加載的時(shí)間更簡單,因此在這個(gè)例子中,主要集中在如何減少預(yù)加載的時(shí)間。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章題目:UITableView性能提升和優(yōu)化(第3章)之一-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article26/diiijg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google搜索引擎優(yōu)化關(guān)鍵詞優(yōu)化網(wǎng)站維護(hù)外貿(mào)網(wǎng)站建設(shè)做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作