iOS之---最佳化應用

來源:互聯網
上載者:User

一、First launch

  第一:quick 速度。初次開機要快,如果不能做到快,那麼需要事先顯示一張loading時的圖片,這樣給使用者的感覺會很好,而不會因為速度慢而讓使用者給刪除掉

  第二:不能Crash。應用在啟動的時候發生崩潰有幾個方面,第一長時間沒有響應被系統殺死,第二,需要訪問網路的應用,沒有網路或者網路不好的狀態下有可能崩潰,這時候需要預先載入,或者將網路事件與UI顯示分離開,進行非同步作業。第三,內部檔案,xib檔案,這個檔案會在編譯時間編譯成nib二進位檔案,是一個很大的記憶體檔案,當一個xib上面有很多的view的時候,會造成很大的效能問題,編譯出來的xib檔案是一個很大的檔案,在載入時會非常非常慢。

              解決方案:第一:少使用xib檔案,盡量用代碼去寫。第二:把xib檔案分解成N個xib檔案,每個xib檔案包含盡量少的view。第三:使用storyboard,這個StoryBoard已經                 經過了最佳化不會造成xib檔案的級數增大,缺點是只支援ios5以上的系統。第四:消極式載入資源,最好在viewDidLoad函數中載入資源。第五:網路下載要使用非同步下載。

二、Workflow。第一:alert 彈出對話方塊。這個會打斷使用者的使用流程,而且給使用者的資訊量小,並且時對使用者造成侵犯。如果非要提示使用者,可以顯示一個浮動視窗,進行提示。這個浮動層不能打斷使用者的行為,只有在非常嚴重的情況下才使用alert dialog。第二:減少使用者的tab。

三、response。反映速度應該快速。

第一,網路資源,(1)sendSynchronousRequest這個方法不建議使用。這是同步的方法,即使線上程中也是。最好使用connectionWithRequest:deleget非同步方法呼叫來取得網路資源;(2)取消不需要的網路訪問,最好建立幾個網路請求隊列,沒有必須的網路需求隊列,這個隊列可以隨時被cancel掉,必須的網路請求隊列需要保持;(3)使用網路cache;(4)增量處理資料,一點一點的取得資料,分別顯示,不一定非要一次性顯示全部資料;(5)線程不宜開的太多,線程太多會造成網路很慢,尤其是圖片或者頭像獲得。

第二,圖片的loading,一般jpeg的格式圖片會比png的圖片loading的慢。

jpge的壓縮和解壓的時間不穩定,這導致你在處理時無法控制時間。png是無損壓縮格式,所以圖片往往會很大,這時候需要進行最佳化,在xcode中包括了這個工具,命令是pngcrash -iphone -f 0 orig.png optimized.png。網路請求的圖片一般是沒辦法經過這種方式來最佳化,那麼我們可以通過一些code來進行最佳化,例如最佳化圖片的阿爾法值等;通過cache畫好的圖案來最佳化效果。

第三, table views,其中的cells裡載入時,在滑動時會造成很卡的情況。

最佳化每個view的渲染過程,來節省你的cell的載入過程。customCell不好用,使用drawrect方法來代替吧。其中有很多技巧,可以查閱文檔。不要和api作對,利用instrument來尋找瓶jin。

四、Details細節

第一:Appearance 外觀要好看,有些UI可以使用Hack的方法來改變系統的UI,IOS5出現了可以修改UI的外觀的方法,不過只支援IOS5。

第二:Animation,好的動畫效果會給使用者心曠神怡的感覺。

第三:Status bar,這個bar可以隱藏,不過一旦隱藏起來後使用者看不到電量和時間會很難受。

第四:state saving,當使用者接完電話回來後,還想繼續玩你的應用,但是如果你不儲存你的應用的目前狀態,會給使用者的心理造成很大的傷害。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.