真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

iOS優(yōu)化內(nèi)存,提升性能之四-創(chuàng)新互聯(lián)

在UI中顯示和隱藏view

網(wǎng)站制作、成都網(wǎng)站建設(shè)的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗。創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗,見的多,溝通容易、能幫助客戶提出的運營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價值服務(wù)。

在UI中顯示和隱藏view,需要用到的內(nèi)存操作很少。但是,這個和iOS app的性能和用戶體驗有關(guān)。

當(dāng)view顯示或隱藏時,在view controller中有4個主要的方法來表示view的不同狀態(tài)。

§ viewWillAppear:在view顯示之前會調(diào)用這個方法。只有這個方法調(diào)用完之后,才會顯示你的view。為了給應(yīng)用創(chuàng)造一個很好的用戶體驗,在這里做的計算最好要非常的快。否則,用戶會感覺你的導(dǎo)航和動畫比較弱。一個好的做法是設(shè)置view的屬性(例如,背景色或文本顏色)。

例如,用戶按下返回按鈕返回到view A。但是,在view A的viewDidAppear方法內(nèi)部,有一個耗時的計算。這個計算結(jié)果可能會花幾秒鐘,但是同時UI線程會被阻塞來處理view A的內(nèi)部邏輯,同時view A也無法顯示。

  • viewDidAppear:在view顯示之后,這個方法會被調(diào)用,所以你可以把你的邏輯處理放在這里。但是,如果在它執(zhí)行完后,你的處理過程會改變view,用戶可能會感到迷惑,這不是一個好的用戶體驗。

例如,你有一個排序算法來對你的table view進行排序。當(dāng)用戶看到view A時,舊的table還在顯示。然后突然所有的的rows發(fā)生了變化,而沒有任何的警告或是解釋發(fā)生了什么事情。

  • viewDidDisappear:在view從UI消失之前會調(diào)用這個方法。任何屬于這個view的,你想要顯示給用戶的,都應(yīng)該放在這里。注意在這里你不應(yīng)該放置太多邏輯處理的代碼。如果你在這里放了很多的邏輯處理代碼,那么顯示一個新的view就會花很多時間。

沒有什么硬性規(guī)則說你應(yīng)該把邏輯處理過程放在什么地方。我向你介紹了所有的基本的概念,你可以使用他們創(chuàng)建比較好的用戶體驗和性能。

對象拷貝

你為什么需要知道對象拷貝以及為什么需要它呢?拷貝一個對象是非常有用的,如果你不想改變舊的對象,因為它可能影響到其他部分程序。在某些情況下,你根本不能修改對象,所以你只能拷貝這個對象的內(nèi)容,然后再進行修改。

淺拷貝和深拷貝

在Objective-C中,淺拷貝實際上和retaining是一樣的。因為淺拷貝是拷貝一個對象的指針到一個新的變量中,在淺拷貝和retaining之間是沒有什么不同的。

另一方面,深拷貝意味著你會實際創(chuàng)建一個新的對象,然后從舊的對象中拷貝所有的數(shù)據(jù)和實例變量到新的對象中。

為了演示淺拷貝和深拷貝在Objective-C之間的不同,考慮下面的代碼:

Shallow copying:

- (void)setMyObj:(NSObject *)newObj {

  if (newObj != myObj) {

    myObj = newObj;

  }

}

Deep copying:

- (void)setMyObj:(NSObject *)newObj {

  if (newObj != myObj) {

    myObj = [newObj copy];

  }

}

在第一種情況下,你把變量的值賦值給一個新的對象然后retain這個對象。在Objective-C中,這就是淺拷貝。在深拷貝例子中,代碼實際上拷貝了newObj的值和實例變量到myObj。

實現(xiàn)一個深拷貝

如果你確實需要一個深拷貝,你必須了解對象的整個層次結(jié)構(gòu)。

  • 你需要創(chuàng)建一個新的對象。

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


    當(dāng)前名稱:iOS優(yōu)化內(nèi)存,提升性能之四-創(chuàng)新互聯(lián)
    鏈接地址:http://weahome.cn/article/ieeps.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部