移動(dòng)客戶(hù)端開(kāi)發(fā)筆記2

數(shù)據(jù)

看了下自己app的友盟統(tǒng)計(jì),還有6%的iOS 8.x設(shè)備。等iOS 11出來(lái)后,再考慮放棄iOS 8.x用戶(hù)吧。

OC穩(wěn)住呀~

文章推薦(轉(zhuǎn))

最近看到Lottie項(xiàng)目,一個(gè)iOS,Android和React Native庫(kù),可以實(shí)時(shí)渲染After Effects動(dòng)畫(huà),并且允許本地app像靜態(tài)資源那樣輕松地使用動(dòng)畫(huà)。回過(guò)頭又把這篇圖片格式調(diào)研的文章看了一遍,哈。這篇文章把移動(dòng)開(kāi)發(fā)常用的幾種靜態(tài)、動(dòng)態(tài)圖片做了詳細(xì)的比較。

WKWebView不支持NSURLProtocol,導(dǎo)致基于UIWebView+NSURLProtocol并做了一些深度優(yōu)化的,很難一下子就遷移到WKWebViewWKWebView內(nèi)部使用了NSURLProtocol,但沒(méi)有對(duì)外開(kāi)放,不知道出于什么考慮。這篇文章以比較hack的方式讓WKWebView支持NSURLProtocol

另一種Native動(dòng)態(tài)化的方案,在OC編譯器上動(dòng)手腳,將OC代碼自動(dòng)編譯成可動(dòng)態(tài)下發(fā)的JS代碼。

有些特性需要配合ios 10設(shè)備使用,比如內(nèi)存循環(huán)引用、DYLD_PRINT_STATISTICS(打印應(yīng)用預(yù)加載時(shí)間)等。

在Scheme的Environment Variables添加DYLD_PRINT_STATISTICS=Y(jié)ES,可以打印應(yīng)用預(yù)加載時(shí)間。從打印出來(lái)的日志看,dylib loading time占用了不少時(shí)間,應(yīng)該是跟加載的系統(tǒng)庫(kù)和三方庫(kù)有關(guān)。
The loading of Apple system frameworks is highly optimized but loading your embedded frameworks can be expensive. 當(dāng)三方庫(kù)不采用Framework形式打包,加載時(shí)間是少了不少。

// 三方庫(kù)以Frameworks形式打包
Total pre-main time: 392.25 milliseconds (100.0%)
         dylib loading time: 336.73 milliseconds (85.8%)
        rebase/binding time:  10.88 milliseconds (2.7%)
            ObjC setup time:  15.91 milliseconds (4.0%)
           initializer time:  28.65 milliseconds (7.3%)
           slowest intializers :
             libSystem.B.dylib :   4.63 milliseconds (1.1%)
                  AFNetworking :  12.03 milliseconds (3.0%)
// 三方庫(kù)以.a靜態(tài)鏈接庫(kù)形式鏈接
Total pre-main time:  93.71 milliseconds (100.0%)
         dylib loading time:  11.46 milliseconds (12.2%)
        rebase/binding time:  27.05 milliseconds (28.8%)
            ObjC setup time:  13.16 milliseconds (14.0%)
           initializer time:  41.94 milliseconds (44.7%)
           slowest intializers :
             libSystem.B.dylib :   5.47 milliseconds (5.8%)
   libBacktraceRecording.dylib :   4.48 milliseconds (4.7%)
                        Fanmei :  54.14 milliseconds (57.7%) 

項(xiàng)目

After Effects動(dòng)畫(huà)的渲染引擎。

A library for converting Adobe AE shape based animations to a data format and playing it back on Android and iOS devices.

Lottie類(lèi)似,也是After Effects動(dòng)畫(huà)的渲染引擎。

A data-driven UICollectionView framework for building fast and flexible lists.

An in-app debugging and exploration tool for iOS

iOS設(shè)備調(diào)試工具,可以查看沙盒,抓包,查看視圖信息等。

仿android的meterial design風(fēng)格的控件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Swift版本點(diǎn)擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,508評(píng)論 7 249
  • 作一小詩(shī) 懷一佳人 遣一相思 慰一癡心 覓一妙辭 無(wú)一適君 左思銷(xiāo)魂 右思傷魂 罷吟數(shù)星辰 野草詩(shī)會(huì):“雪花體”原...
    阿桂愛(ài)原創(chuàng)閱讀 149評(píng)論 2 6
  • 這本書(shū)讀一半了,很佩服斯朱蘭,卻也很討厭他。有時(shí)覺(jué)得心里住著一個(gè)斯朱蘭,完全按照本我行事,毫不在乎別人的眼光,冷漠...
    biadkt閱讀 217評(píng)論 1 1
  • 我的耳朵很疼,似乎越來(lái)越疼嚴(yán)重, 我在鏡子后拿出設(shè)備往耳朵里看,大小不等的膿包已經(jīng)發(fā)黃滲血… 該去藥房了,我起身穿...
    龍嘟閱讀 260評(píng)論 0 1
  • 迷上一樣?xùn)|西 然后所有的理智告訴你 她值得為此付出一生 這就是我理解的理想 如精衛(wèi)般執(zhí)著 如夸父般熱烈 如萬(wàn)戶(hù)般勇...
    留給未來(lái)的記憶閱讀 95評(píng)論 0 0