IOS-内存检测以及优化

发表于:2014-8-01 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Jason    来源:51Testing软件测试网采编

  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];
  这样就最大限度的节省了宝贵的内存空间
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号