在iOS開發(fā)中,內(nèi)存泄漏是高頻且棘手的技術(shù)問題,尤其網(wǎng)絡(luò)層的泄漏的隱蔽性強、排查難度高,容易導(dǎo)致App卡頓、崩潰,影響用戶體驗。最近在項目中排查并解決了一次AFNetwork...
在iOS開發(fā)中,內(nèi)存泄漏是高頻且棘手的技術(shù)問題,尤其網(wǎng)絡(luò)層的泄漏的隱蔽性強、排查難度高,容易導(dǎo)致App卡頓、崩潰,影響用戶體驗。最近在項目中排查并解決了一次AFNetwork...
一個NSObject占用多少內(nèi)存? 答:系統(tǒng)分配了16字節(jié),但NSObject只使用了8個字節(jié) 由果索引去探求類的本質(zhì) 我們知道OC會被編譯器翻譯成C/C++,進而翻譯成匯編...
前言 對于社交類APP,只要允許用戶上傳視頻,為了避免占用服務(wù)器資源以及減少用戶上傳時間,肯定少不了長視頻裁剪的功能。 效果預(yù)覽 分析 頁面結(jié)構(gòu) 基于AVPlayer封裝的播...
效果如下 image 分析 1、由于第一個cell和header有疊加效果,但是cell單獨設(shè)置clipsToBounds為NO并不能達到效果,所以這種方案行不通; 2、考慮...
骨架屏是什么? 骨架屏(Skeleton Screen)是一種優(yōu)化用戶弱網(wǎng)體驗的方案。在弱網(wǎng)情況下,客戶端獲取到服務(wù)器數(shù)據(jù)的時間會比較長,此時用戶會比較煩躁。該方案是指在空白...
前言 接手的新項目,有一處自定義了UICollectionViewLayout,實現(xiàn)瀑布流的效果。在iOS12以下的系統(tǒng)運行,一切正常。在真機iOS12的系統(tǒng)運行,進入重用池...
前言 緩存在iOS開發(fā)中很常用,大到網(wǎng)絡(luò)請求的緩存,小到各種屬性的緩存。比如用戶發(fā)送朋友圈時,寫了很多內(nèi)容,因為某些操作導(dǎo)致APP crash,之前編輯的內(nèi)容都不在了,造成非...
前言 Runtime,俗稱運行時,是iOS非常核心的東西。我們都知道OC是一門動態(tài)的語言,它的動態(tài)其實就體現(xiàn)在運行時而不是編譯時,通俗的說,在程序沒有完全運行起來時,一切都有...
前言 RunLoop是iOS和OSX開發(fā)中非常基礎(chǔ)的一個概念,學(xué)習(xí)Runloop能夠幫助我們更清楚的了解APP為何能夠持續(xù)運行。雖然在平時的工作場景中使用Runloop的機會...
前言 很多blog都說ReactiveCocoa好用,然后各種秀自己如何靈活運用ReactiveCocoa,但是感覺真正缺少的是一篇如何學(xué)習(xí)ReactiveCocoa的文章,...
使用到NSAttributedString通過它就可以設(shè)置加載HTML。iOS7之后才可以使用: 其中,options中的指定key為: 時,它可以選擇的值有: 其中,NSH...
開篇說明:雖然網(wǎng)上有很多講解YYModel使用方法的文章,包括YYModel作者也在github上對其做了使用說明。但在我實際使用過程中,依然發(fā)現(xiàn)文檔的不完善,比如對于復(fù)雜的...
YYModel使用總結(jié) 高性能 iOS/OSX 模型轉(zhuǎn)換框架該項目是 YYKit 組件之一 性能 處理 GithubUser 數(shù)據(jù) 10000 次耗時統(tǒng)計 (iPhone 6...