qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

IOS-内存检测以及优化

  PS:开始写这个系列的笔记:主要是对过去自己比较模糊的一些概念进行测试,明确结果,提高自己
  IOS 应用如果占用系统的内容过大(8GB),就会造成应用直接被系统以崩溃的形式关闭,一次控制应用占用的内存大小是非常重要的事情。
  现在我们来看看,一个空的应用占据的内容的大小:
  测试环境:xCode 5.0/IOS 5
  启动一个空应用,占用的内存为 2.6MB,占据应用崩溃的阀值为 0.03%
  1:关于导航条的 Push和popup的测试结果
  [self.navigationController pushViewController:m_navanimated:YES];
  [self.navigationController popViewControllerAnimated:YES];
  对于
  pushViewController ,会将对应的ViewController对象的引用计数器+1
  popViewControllerAnimated   会将对应的ViewController对象的引用计数器-1
  但是有一点需要明确的是,对于函数
  -(void)dealloc
  {
  //Objects release here
  [super deallco];
  }
  只有在该引用计数器的值==0的时候才会调用,这个是必须牢记的。
  在执行函数[self.navigationController popViewControllerAnimated:YES];的时候,如果弹出的ViewController对应的引用计数器为0,那么也会执行dealloc 函数。
  所以再使用
  [self.navigationController pushViewController:m_navanimated:YES];
  [self.navigationController popViewControllerAnimated:YES];
  栈函数对的时候,为了释放内存,我们可以这么使用
  Nav_1 *m_nav = [[[Nav_1  alloc] initWithNibName:nil bundle:nil] autorelease];
  [self.navigationController  pushViewController:m_nav  animated:YES];
  这样就最大限度的节省了宝贵的内存空间

posted on 2014-08-04 09:56 顺其自然EVO 阅读(413) 评论(1)  编辑  收藏 所属分类: 测试学习专栏

评论

# re: IOS-内存检测以及优化[未登录] 2014-10-15 16:45 Andy

最后Nav_1 *m_nav = [[[Nav_1 alloc] initWithNibName:nil bundle:nil] autorelease];
  [self.navigationController pushViewController:m_nav animated:YES];
这样就节省了内容,是什么原因,没看懂  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜