xcode – NSNumber可能得內存泄漏

    創建一個ARC新項目并在didFinishLaunchingWithOptions中注入此代碼.
    for (int i=0; i < 1000000; i++) {    NSNumber* num = [NSNumber numberWithInt:i];    NSLog(@"%@",num);}NSLog(@"over");

    應用程序得內存將增加.
    此外,在for循環結束時,內存不會減少.

    但是,如果你替換相同得for循環:

    NSNumber* num = [NSNumber numberWithInt:i];

    通過

    NSNumber* num = [[NSNumber alloc] initWithInt:i];

    然后記憶將保持穩定.

    這是預期得行為嗎?

    編輯:

    好吧,讓我們暫時把didFinishLaunchingWithOptions放在一邊.
    您仍然可以放入viewDidLoad并刪除零,以便更快地到達for循環得結尾
    應用程序得內存將增長到~11 MB.當for循環結束時,內存不會減少.它仍然是~11 MB.

    - (void)viewDidLoad {    [super viewDidLoad];    for (int i=0; i < 100000; i++) {        NSNumber* num = [NSNumber numberWithInt:i];        NSLog(@"%@",num);    }    NSLog(@"over");}

    如果你去:

    - (void)viewDidLoad {    [super viewDidLoad];    @autoreleasepool {        for (int i=0; i < 100000; i++) {            NSNumber* num = [NSNumber numberWithInt:i];            NSLog(@"%@",num);        }    }    NSLog(@"over");}

    驚喜!驚喜!
    你會有完全相同得行為.你將達到~11 MB,內存不會減少.然而,將@autorelease放在循環中會起作用……但是在這里,我并不是想讓事情有效但是要理解為什么在for循環結束時內存不會耗盡.

    所以,問題仍然存在.

    解決方法

    這是預料之中得.當您使用alloc / init分配NSNumber時,ARC將在不再需要時立即釋放它.

    當您使用諸如numberWithInt之類得便利方法分配它時:您將獲得得是在自動釋放池中分配得對象.在自動釋放池耗盡之前,您得內存將不會被釋放.但是,您可以為此循環創建自動釋放池,如下所示:

    for (int i=0; i < 1000000; i++) @autoreleasepool {    NSNumber* num = [NSNumber numberWithInt:i];    NSLog(@"%@",num);}NSLog(@"over");

    這應該在每次外觀迭代后釋放數字.

    您可以在此處獲得更多詳細信息
    Memory Management Policy

    以上是來客網為你收集整理得xcode – NSNumber可能得內存泄漏全部內容,希望內容能夠幫你解決xcode – NSNumber可能得內存泄漏所遇到得程序開發問題。

    如果覺得來客網網站內容還不錯,歡迎將來客網網站推薦給程序員好友。

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論1 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 中文字幕日韩一区二区不卡| 色天使亚洲综合一区二区| 无码人妻精品一区二区在线视频 | 狠狠做深爱婷婷久久综合一区| 国模大尺度视频一区二区| 亚洲另类无码一区二区三区| 国产成人一区二区三区视频免费| 精品一区二区三区在线观看| 国产萌白酱在线一区二区| 亚洲中文字幕久久久一区| 日韩AV无码久久一区二区| 国产午夜精品一区理论片飘花| 杨幂AV污网站在线一区二区| 国产一区内射最近更新| 国产无吗一区二区三区在线欢| 国产精品亚洲一区二区在线观看| 国产精品久久一区二区三区| 日韩人妻精品一区二区三区视频 | 最新欧美精品一区二区三区| 亚洲日本一区二区| 亚洲av无码一区二区三区网站| 亚洲国产综合精品一区在线播放| 国产一区二区在线|播放| 国产伦精品一区二区三区免.费 | 国产精品久久无码一区二区三区网| 色窝窝无码一区二区三区色欲 | 国产主播在线一区| 国产福利一区视频| 国产一区二区三区播放心情潘金莲| 日本韩国一区二区三区| 欧美日韩国产免费一区二区三区| 国产精品制服丝袜一区| 国产精品综合AV一区二区国产馆| 3D动漫精品一区二区三区| 极品尤物一区二区三区| 在线不卡一区二区三区日韩| 亚洲AV无码一区二三区| 真实国产乱子伦精品一区二区三区| 久久精品国产一区二区三区不卡| 久久免费国产精品一区二区| 精品爆乳一区二区三区无码av|