我們在分析自動(dòng)釋放池底層源碼前脆诉,我們先來創(chuàng)建一個(gè)新工程,查看main函數(shù)中系統(tǒng)創(chuàng)建的自動(dòng)釋放池最終轉(zhuǎn)換為底層c++代碼的情況 main函數(shù) 我們...
我們都知道iOS的內(nèi)存管理分為手動(dòng)內(nèi)存管理(MRC)和自動(dòng)內(nèi)存管理(ARC),但是不管是手動(dòng)內(nèi)存管理還是自動(dòng)內(nèi)存管理,自動(dòng)釋放池在其中都起到至關(guān)...
我們在平時(shí)的開發(fā)過程中昔汉,經(jīng)常會使用到__weak關(guān)鍵字來解決循環(huán)引用的問題,被__weak修飾的指針就變成了弱指針刊愚,當(dāng)這個(gè)弱指針指向的對象銷毀時(shí)...
我們在平時(shí)的項(xiàng)目開發(fā)過程中馍驯,經(jīng)常會使用到NSTimer來創(chuàng)建定時(shí)器,但是在使用過程中有時(shí)我們又會遇到以下幾個(gè)問題: 主線程中NSTimer創(chuàng)建的...
我們在平時(shí)的開發(fā)過程中可能會遇到多個(gè)線程并發(fā)同時(shí)訪問同一資源的情況群井,例如數(shù)據(jù)庫的存取操作状飞,或者是文件的讀寫操作,像這種多個(gè)線程同時(shí)訪問同一資源就...
我們平時(shí)在項(xiàng)目開發(fā)過程中經(jīng)常會用到多線程相關(guān)的技術(shù),經(jīng)常會使用多線程來進(jìn)行網(wǎng)絡(luò)請求和數(shù)據(jù)傳輸?shù)炔僮魑鼙玻琌C中創(chuàng)建多線程主要有以下幾種方式: pth...
我們在平時(shí)開發(fā)過程中使用到多線程的場景大部分都是創(chuàng)建一個(gè)線程來處理任務(wù)酵使,當(dāng)這個(gè)任務(wù)處理完后線程也就自動(dòng)銷毀。如果有這樣一種場景:我們創(chuàng)建一個(gè)線程...
我們在平時(shí)開發(fā)過程中涉及到runloop相關(guān)的應(yīng)用場景大致有如下幾種: NSTimer創(chuàng)建的定時(shí)器在滑動(dòng)過程中失效 控制線程的生命周期 多線程 ...
我們在探究Runloop的本質(zhì)前首先要知道什么是Runloop? runloop定義:iOS程序中的運(yùn)行循環(huán)機(jī)制焙糟,它能夠保證程序一直處于運(yùn)行中狀...