iOS簡單學(xué)之7-autoreleasepool

今天查看代碼,發(fā)現(xiàn)使用了@autoreleasepool

#pragma mark --
#pragma mark -- processCameraOutput to delegate trans
- (void)processCameraOutputPixelBuffer:(CMSampleBufferRef)sampleBuffer {
    __weak typeof(self) weakSelf = self;
    @autoreleasepool {
        CVPixelBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
        if(pixelBuffer && weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didOutputPixelBuffer:)]){
            [self.delegate didOutputPixelBuffer:pixelBuffer];
        }
    }
}

用@autoreleasepool是有用的。
正常情況下,你創(chuàng)建的變量會在超出其作用域的時候被釋放掉。
而如果你的函數(shù)寫的很長,在你函數(shù)運(yùn)行過程中出現(xiàn)很多中間變量,占據(jù)了大量的內(nèi)存,怎么辦?
用@autoreleasepool。
在@autoreleasepool中創(chuàng)建的變量,會在@autoreleasepool結(jié)束的時候執(zhí)行一次release,進(jìn)行釋放。其實(shí)@autoreleasepool就相當(dāng)于一層作用域。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.1 什么是自動引用計數(shù) 概念:在 LLVM 編譯器中設(shè)置 ARC(Automaitc Reference Co...
    __silhouette閱讀 5,478評論 1 17
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,628評論 30 472
  • 循環(huán)引用:http://ios.jobbole.com/82077/類別的作用功能:1.擴(kuò)充現(xiàn)有類的功能2.對現(xiàn)有...
    得一切從簡閱讀 585評論 0 1
  • 1.OC里用到集合類是什么? 基本類型為:NSArray,NSSet以及NSDictionary 可變類型為:NS...
    輕皺眉頭淺憂思閱讀 1,479評論 0 3
  • 你說你找到女朋友了 在猴年馬月 你說你相信 美好的事情即將發(fā)生 你說的每句話 都透露著滿心的 歡喜和雀躍 而我 淹...
    小心眼和壞脾氣閱讀 338評論 0 1

友情鏈接更多精彩內(nèi)容