[問題]IOS6 記憶體爆炸 是圖片要釋放的問題嗎?

看板MacDev作者 (0o圓圓o0)時間12年前 (2013/01/31 16:46), 編輯推噓2(2024)
留言26則, 5人參與, 最新討論串1/1
一開始一個開頭的rootView 我用addSubView來產生一個新的View覆蓋他 新的View的parent就是rootView 我每個newView1,newView2裡面都有scrollView和pageControl來做 翻頁的效果,一個scrollView裡面都有4~6張圖片 從rootView到newView1再到newView2程式會當掉重開 像是記憶體不足的問題 我程式是用IOS SDK6 撰寫的 IOS6把viewDidUnload給刪掉了,官方說改用didReceviewMemoryWarning來替換 我在畫面切換後會把self.view=nil,scrollView=nil,把會用到的元件或陣列給nil 不過好像不是這樣做,請問要如何釋放掉? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.128.88.208

01/31 17:38, , 1F
收到didReceviewMemoryWarning代表記憶體不足,可以把現
01/31 17:38, 1F

01/31 17:38, , 2F
在不用到的view先釋放掉。
01/31 17:38, 2F

01/31 19:09, , 3F
我有寫self.view=nil 請問這樣有釋放掉嗎 ?
01/31 19:09, 3F

01/31 19:40, , 4F
不會是 ARC的通用 bug吧...
01/31 19:40, 4F

01/31 20:57, , 5F
是[view release]嗎?我現在project 設auto-release 就沒在
01/31 20:57, 5F

01/31 20:58, , 6F
理會了,不過其實auto-release 不好...
01/31 20:58, 6F

01/31 21:04, , 7F
可是IOS6好像把 view release 刪掉了@@
01/31 21:04, 7F

01/31 21:36, , 8F
有開ARC的情況下,沒辦法直接release。你可能要先看一下
01/31 21:36, 8F

01/31 21:41, , 9F
設定,self.view=nil是透過setter的方式設成nil
01/31 21:41, 9F

01/31 21:42, , 10F
retainCount會減,retainCount=0才會釋放
01/31 21:42, 10F

01/31 21:43, , 11F
可以用analyze分析一下有可能leak的點
01/31 21:43, 11F

01/31 22:10, , 12F
我是設定成ARC沒錯 在ARC下是不是也要手動釋放一些圖片
01/31 22:10, 12F

01/31 22:11, , 13F
和一些不會用到的View
01/31 22:11, 13F

01/31 22:20, , 14F
沒法 頂多設成nil 你要手動 它也會報錯~
01/31 22:20, 14F

01/31 22:25, , 15F
那是scrollView裡面的image的問題嗎?一張圖片差不多像
01/31 22:25, 15F

01/31 22:28, , 16F
素幾乘幾就夠了 還有要多少dpi
01/31 22:28, 16F

01/31 22:30, , 17F
我是要做在ipad上 怕圖上面的字會不清楚
01/31 22:30, 17F

01/31 22:38, , 18F
如果你放大的時候,圖會糊掉,那可能要考慮用Quartz2D來
01/31 22:38, 18F

01/31 22:39, , 19F
畫,scrollView的話可以一次只把上一張,目前這張,下一張
01/31 22:39, 19F

01/31 22:39, , 20F
讀進來,其它就先釋放
01/31 22:39, 20F

01/31 22:50, , 21F
我現在就是滑動才把圖讀進來,之前的先釋放掉,我想請
01/31 22:50, 21F

01/31 22:51, , 22F
問釋放圖的寫法?
01/31 22:51, 22F

01/31 23:03, , 23F
[self.imgView removeFromSuperView]; self.imgView=nil
01/31 23:03, 23F

01/31 23:28, , 24F
我現在scrollView是如大大所說的寫法撰寫,不會用到的
01/31 23:28, 24F

01/31 23:30, , 25F
View會把他釋放掉,我程式正在更改,謝謝大大們指教
01/31 23:30, 25F

01/31 23:30, , 26F
感謝感謝
01/31 23:30, 26F
文章代碼(AID): #1H2YzNlP (MacDev)
文章代碼(AID): #1H2YzNlP (MacDev)