作者neric8709g (0o圆圆o0)
看板MacDev
标题[问题]IOS6 记忆体爆炸 是图片要释放的问题吗?
时间Thu Jan 31 16:46:13 2013
一开始一个开头的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
1F:→ s8911124:收到didReceviewMemoryWarning代表记忆体不足,可以把现 01/31 17:38
2F:→ s8911124:在不用到的view先释放掉。 01/31 17:38
3F:→ neric8709g:我有写self.view=nil 请问这样有释放掉吗 ? 01/31 19:09
4F:推 Adonisy:不会是 ARC的通用 bug吧... 01/31 19:40
5F:推 osnq:是[view release]吗?我现在project 设auto-release 就没在 01/31 20:57
6F:→ osnq:理会了,不过其实auto-release 不好... 01/31 20:58
7F:→ neric8709g:可是IOS6好像把 view release 删掉了@@ 01/31 21:04
8F:→ s8911124:有开ARC的情况下,没办法直接release。你可能要先看一下 01/31 21:36
9F:→ s8911124:设定,self.view=nil是透过setter的方式设成nil 01/31 21:41
10F:→ s8911124:retainCount会减,retainCount=0才会释放 01/31 21:42
11F:→ s8911124:可以用analyze分析一下有可能leak的点 01/31 21:43
12F:→ neric8709g:我是设定成ARC没错 在ARC下是不是也要手动释放一些图片 01/31 22:10
13F:→ neric8709g:和一些不会用到的View 01/31 22:11
14F:→ yuanruo:没法 顶多设成nil 你要手动 它也会报错~ 01/31 22:20
15F:→ neric8709g:那是scrollView里面的image的问题吗?一张图片差不多像 01/31 22:25
16F:→ neric8709g:素几乘几就够了 还有要多少dpi 01/31 22:28
17F:→ neric8709g:我是要做在ipad上 怕图上面的字会不清楚 01/31 22:30
18F:→ s8911124:如果你放大的时候,图会糊掉,那可能要考虑用Quartz2D来 01/31 22:38
19F:→ s8911124:画,scrollView的话可以一次只把上一张,目前这张,下一张 01/31 22:39
20F:→ s8911124:读进来,其它就先释放 01/31 22:39
21F:→ neric8709g:我现在就是滑动才把图读进来,之前的先释放掉,我想请 01/31 22:50
22F:→ neric8709g:问释放图的写法? 01/31 22:51
23F:→ s8911124:[self.imgView removeFromSuperView]; self.imgView=nil 01/31 23:03
24F:→ neric8709g:我现在scrollView是如大大所说的写法撰写,不会用到的 01/31 23:28
25F:→ neric8709g:View会把他释放掉,我程式正在更改,谢谢大大们指教 01/31 23:30
26F:→ neric8709g:感谢感谢 01/31 23:30