`
woainike
  • 浏览: 78225 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

无聊的测试。release后还需要removeallobjects?

 
阅读更多

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{
    NSMutableArray *_mArray;
    NSMutableArray *temp;
}

@property(nonatomic ,retain)NSMutableArray *mArray;
@end
 #import "ViewController.h"
@interface ViewController ()

@end

@implementation ViewController

@synthesize mArray = _mArray;


-(void)reResultRetainCount{
    static int i = 1;
    NSLog(@"get %d _mArray retain count %d",i++,[_mArray retainCount]);
}


- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
//    [self reResultRetainCount];
//    
//    _mArray = [[NSMutableArray alloc] init];
//    
//    [self reResultRetainCount];
//    
//    [_mArray release];
    
    [self reResultRetainCount];
    
    _mArray = [[NSMutableArray alloc] init];
    
    [self reResultRetainCount];
    
    [self.mArray addObject:@"123"];
    [self.mArray addObject:@"456"];
    [self.mArray addObject:@"789"];
    
   /*
    NSLog(@"%@",self.mArray);
    [_mArray removeAllObjects];
    NSLog(@"%@",self.mArray);
 */

    [self reResultRetainCount];
    NSLog(@"%@",_mArray);
    
    temp = [_mArray copy];

    [_mArray release];
    
    
    [self reResultRetainCount];
    
    
    if (temp) {
        
        //NSLog(@"temp");
        NSLog(@"%@",temp);
        
    }
    
  
}



- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
//
//-(void)setMArray:(NSMutableArray *)mArray{
//    
//    if (_mArray != mArray) {
//        
//        //_mArray = mArray;
//
//        [_mArray release];
//        _mArray = [mArray retain];
//        
//    }
//    
//    NSLog(@" set mArray retain count %d",[mArray retainCount] );
//
//}


@end

 

 

 

总结,不需要。在跑道dealloc 里面去释放的时候,再去removeallobjects。

最多,加上 currentObjets  = nil这句话。

安全释放。合理分配。

共享内存,不要随便放。

 

和同事辩论,结果,V字手势。

分享到:
评论

相关推荐

    spring-framework-4.1.6.RELEASE

    Spring Framework 4.1.6.RELEASE 是一个重要的版本,它是Spring框架发展史上的一个重要里程碑。这个版本在2015年发布,为开发者提供了稳定、高性能和丰富的特性集,以便构建高质量的企业级Java应用程序。以下是对这...

    Qt Release 崩溃测试 demo

    10. **持续集成(CI)**:结合持续集成系统,自动进行Release版本的构建和测试,确保每次代码更改后,程序的稳定性都能得到及时验证。 最后,对于压缩包中的“QtDbgTest”文件,这可能是用于调试或测试的工具或脚本。...

    rpmforge-release-0.5.3-1.el6.rf.x86_64

    rpmforge是Dag、Dries 和其它软件包的组合。它们为 CentOS 提供了超过10000个软件包。rpmforge不是redhat Linux产品或 CentOS 的组成部分,但它是为这些 Linux 套件而设计的。

    Release方式常见问题

    因此,我们至少需要每周进行一次 Release 版本的测试,以便在紧凑的开发周期内节省潜在的排故时间。 规则 2: 不要随意删除 Release 版本需要的代码 在编译 Release 版本时,编译器会主动排除在代码中存在的宏,...

    JetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc

    JetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc.jarJetbrainsCrack-3.1-release-enc...

    EMQ2.0性能测试报告Release2.0.5

    EMQPLUS企业版是基于Erlang/OTP开发的MQTT消息服务器,具备百万级高并发、毫秒级低时延、分布式集群和高可靠性等特性,适用物联网、车联网、智能硬件和移动消息等场景。 目前已广泛应用在全球市场,包括中国、北美、...

    Web V3.2 release测试总结1

    Web V3.2 release的测试工作是对一系列产品的全面评估,包括JHAppform、JHCodesign、JHComeeting、JHSecurity和JHInsight等,还有JHDam、JHDS和JHApp。测试过程覆盖了从基础功能到高级集成,涉及到多个定制项目的...

    app-release.apk 测试

    app-release.apk 测试

    app-release

    在IT行业中,"app-release"通常指的是...总的来说,"app-release"涉及Android应用的发布流程,包括代码优化、签名、打包APK、测试、发布到应用市场以及后续的维护和更新。这些环节对于确保应用质量和用户体验至关重要。

    spring 3.2.4.RELEASE jar包

    spring-context-3.2.4.RELEASE.jar spring-core-3.2.4.RELEASE.jar spring-beans-3.2.4.RELEASE.jar spring-test-3.2.4.RELEASE.jar spring-web-3.2.4.RELEASE.jar spring-aop-3.2.4.RELEASE.jar spring-webmvc-...

    spring-test-3.2.0.RELEASE.jar

    同时,`@Transactional`注解可以开启事务,测试结束后自动回滚,避免对数据库造成影响。 5. **测试报告:** Spring Test支持JUnit和TestNG的测试报告生成,通过自定义监听器,可以定制测试输出,满足不同项目的...

    Release20131004.zip

    在实际操作中,解压“Release20131004.zip”后,我们通常会执行以下步骤: 1. 检查“Release20131004.txt”以获取更新详情。 2. 如果是源代码发布,开发者会编译并测试新版本。 3. 对于二进制发布,用户可能需要运行...

    AndroidTool_Release.zip

    3. **测试**:在发布前,务必在多款设备上进行充分的测试,确保Release版本的稳定性和兼容性。 总之,"AndroidTool_Release.zip"是一个实用的工具集,它简化了Android应用的Release流程,使开发者能更专注于应用的...

    spring-framework-4.1.9.RELEASE

    在4.1.9.RELEASE中,对Mockito等第三方测试库的集成更加紧密,使得编写测试用例变得更加简单高效。 6. **Maven和Gradle集成**:4.1.9.RELEASE版本可以轻松地与构建工具Maven或Gradle集成,提供了一组完整的Maven...

    android安卓app编译成release版本的方法.zip

    Release版本不仅包含了优化和调试后的代码,还包含了必要的签名和优化,以确保应用的安全性和性能。以下是详细的过程: 一、设置Release构建类型 在Android Studio中,打开项目后,导航至`build.gradle(Module: app...

    C#程序Release目录下dll文件打包工具

    在C#编程中,开发完成后通常会生成两种类型的项目输出:Debug和Release。这两个目录分别对应不同的编译配置,用于满足不同的开发需求。本话题主要关注Release目录,因为它是最终面向用户或部署到生产环境的版本。在...

    spring-framework-3.0.5.RELEASE-dependencies

    为了在项目中使用Spring 3.0.5.RELEASE,你需要将这些JAR添加到项目的类路径中,或者如果使用Maven或Gradle等构建工具,可以通过指定依赖来自动下载和管理这些依赖。 总的来说,Spring Framework 3.0.5.RELEASE是一...

    判断DLL文件是Debug版或Release版

    在确保所有DLL文件都为Release版后,可以有效地优化程序性能并降低安全风险。当引用第三方组件时,务必确认它们的版本,以免在生产环境中引入不必要的问题。对于.NET开发,可以使用Visual Studio的项目属性来设置...

    Eclipse cdt debug 转release1

    Eclipse CDT Debug 转 Release 版本的配置需要我们注意多个方面,包括依赖项的添加、静态库项目的配置、头文件和静态库的配置、优化等。只有正确地配置这些选项,才能确保项目的正确编译、调试和发布。

    delphi debug release区别

    - **Release模式**:Release模式则倾向于动态链接到运行时库,这样可以减少程序的体积,但需要目标系统上安装相应的库。 4. **异常处理** - **Debug模式**:在Debug模式下,异常处理更为详细,可以提供更多的错误...

Global site tag (gtag.js) - Google Analytics