## **演示項目**
在開始技術討論前,你可以先下載我寫的 Demo 跑到真機上體驗一下:[https://github.com/ibireme/YYKit](https://github.com/ibireme/YYKit)。 Demo 里包含一個微博的 Feed 列表、發布視圖,還包含一個 Twitter 的 Feed 列表。為了公平起見,所有界面和交互我都從官方應用原封不動的抄了過來,數據也都是從官方應用抓取的。你也可以自己抓取數據替換掉 Demo 中的數據,方便進行對比。盡管官方應用背后的功能更多更為復雜,但不至于會帶來太大的交互性能差異。
[](http://blog.ibireme.com/wp-content/uploads/2015/11/weibo.png)[](http://blog.ibireme.com/wp-content/uploads/2015/11/weibo_compose.png)[](http://blog.ibireme.com/wp-content/uploads/2015/11/twitter.png)
這個 Demo 最低可以運行在 iOS 6 上,所以你可以把它跑到老設備上體驗一下。在我的測試中,即使在 iPhone 4S 或者 iPad 3 上,Demo 列表在快速滑動時仍然能保持 50~60 FPS 的流暢交互,而其他諸如微博、朋友圈等應用的列表視圖在滑動時已經有很嚴重的卡頓了。
微博的 Demo 有大約四千行代碼,Twitter 的只有兩千行左右代碼,第三方庫只用到了 YYKit,文件數量比較少,方便查看。好了,下面是正文。