数据
看了下自己app的友盟统计,还有6%的iOS 8.x设备。等iOS 11出来后,再考虑放弃iOS 8.x用户吧。
OC稳住呀~
文章推荐(转)
最近看到Lottie项目,一个iOS,Android和React Native库,可以实时渲染After Effects动画,并且允许本地app像静态资源那样轻松地使用动画。回过头又把这篇图片格式调研的文章看了一遍,哈。这篇文章把移动开发常用的几种静态、动态图片做了详细的比较。
WKWebView不支持NSURLProtocol,导致基于UIWebView+NSURLProtocol并做了一些深度优化的,很难一下子就迁移到WKWebView。WKWebView内部使用了NSURLProtocol,但没有对外开放,不知道出于什么考虑。这篇文章以比较hack的方式让WKWebView支持NSURLProtocol。
另一种Native动态化的方案,在OC编译器上动手脚,将OC代码自动编译成可动态下发的JS代码。
有些特性需要配合ios 10设备使用,比如内存循环引用、DYLD_PRINT_STATISTICS(打印应用预加载时间)等。
在Scheme的Environment Variables添加DYLD_PRINT_STATISTICS=YES,可以打印应用预加载时间。从打印出来的日志看,dylib loading time占用了不少时间,应该是跟加载的系统库和三方库有关。
The loading of Apple system frameworks is highly optimized but loading your embedded frameworks can be expensive.  当三方库不采用Framework形式打包,加载时间是少了不少。
// 三方库以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%)
// 三方库以.a静态链接库形式链接
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%) 
项目
After Effects动画的渲染引擎。
A library for converting Adobe AE shape based animations to a data format and playing it back on Android and iOS devices.
跟Lottie类似,也是After Effects动画的渲染引擎。
A data-driven UICollectionView framework for building fast and flexible lists.
An in-app debugging and exploration tool for iOS
iOS设备调试工具,可以查看沙盒,抓包,查看视图信息等。
仿android的meterial design风格的控件