Re: [問題] 如何清除NSString 記憶體
※ 引述《neocc (neo)》之銘言:
: 不好意思 又要麻煩各位了..
: 想請問大家
: for(int i=0;i<2000000;i++)
: {
: NSString *KeyR;
: NSString *KeyG;
: NSString *KeyB;
: KeyR = [NSString stringWithFormat:@"%d", 1];
: KeyG = [NSString stringWithFormat:@"%d", 2];
: KeyB = [NSString stringWithFormat:@"%d", 3];
: }
: 我跑這段的時候 記憶體大大增加
: 請問要怎麼在每一個loop的時候 清除NSString記憶體呢?
: 謝謝大家!~
只要加上 auto release pool 就解決了,
就像是這樣子:
@autoreleasepool {
for(int i=0;i<2000000;i++) {
NSString *KeyR;
NSString *KeyG;
NSString *KeyB;
KeyR = [NSString stringWithFormat:@"%d", 1];
KeyG = [NSString stringWithFormat:@"%d", 2];
KeyB = [NSString stringWithFormat:@"%d", 3];
}
}
它的功能是在 auto release pool 包含的範圍內都會進入記憶體回收池內,
只要離開那裡面的之後,在那範圍內所有產生的物件都會回收,
不過這個不是萬全的解決方案,因為回收時並不會馬上釋放記憶體,
只是降低 memory leak 的情況而已。
--
#1ID_Wqk2 (iPhone) [ptt.cc] [問題] 記錄天數的app
推
09/17 14:40,
09/17 14:40
→
09/17 14:41,
09/17 14:41
→
09/17 14:44,
09/17 14:44
→
09/17 14:46,
09/17 14:46
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.234.121
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1434759798.A.EEF.html
→
06/20 12:14, , 1F
06/20 12:14, 1F
→
06/20 12:15, , 2F
06/20 12:15, 2F
→
06/20 12:16, , 3F
06/20 12:16, 3F
推
06/20 12:45, , 4F
06/20 12:45, 4F
→
06/20 12:47, , 5F
06/20 12:47, 5F
→
06/20 12:47, , 6F
06/20 12:47, 6F
→
06/20 14:32, , 7F
06/20 14:32, 7F
→
06/20 14:33, , 8F
06/20 14:33, 8F
→
06/20 14:33, , 9F
06/20 14:33, 9F
→
06/20 16:38, , 10F
06/20 16:38, 10F
→
06/20 17:11, , 11F
06/20 17:11, 11F
→
06/20 19:37, , 12F
06/20 19:37, 12F
→
06/20 19:49, , 13F
06/20 19:49, 13F
是的,我現在才發現寫錯了...........Orz
※ 編輯: darktt (220.133.234.121), 06/20/2015 20:12:09
→
06/21 02:19, , 14F
06/21 02:19, 14F
→
06/21 02:19, , 15F
06/21 02:19, 15F
→
06/21 02:20, , 16F
06/21 02:20, 16F
for 迴圈本來就是消耗 CPU 運算的方法了,
如果不想影響主執行續的話建議讓它到另外一個執行續去運作,
另外 NSString 本身就是一個 Class,在 OC 的架構下所有 Class 都要 alloc 一塊
記憶體位置才能運作,所以沒有不 alloc 能運作的 Class。
※ 編輯: darktt (220.133.234.121), 06/21/2015 09:15:18
→
06/21 14:51, , 17F
06/21 14:51, 17F
→
06/21 14:51, , 18F
06/21 14:51, 18F
→
06/21 14:51, , 19F
06/21 14:51, 19F
推
06/24 23:57, , 20F
06/24 23:57, 20F
→
06/24 23:58, , 21F
06/24 23:58, 21F
→
06/24 23:59, , 22F
06/24 23:59, 22F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章