iOS内存问题

一、  Block循环引用问题

       __weak  typeof(self)  weakself = self;

二、Delegate循环引用问题

      @property (nonatomic,weak) id <customerDelegate>delegate;

三、NStimer训循环引用

       定时器使用完毕时需要将其停止并滞空

       - (void)cleanTimer {   

                  [ _timer  invalidate ];    

                  _timer = nil;

          }

         该方法在NSTimer所咋当前类中dealloc方法中调用无效

四、地图类处理

        - (void) clearMapView {

                      self.mapView = nil;

                      self.mapView.delegate = nil;

                      self.mapView.showsUserLocation = NO;   

                      [self.mapView  removeAnnotations: self.annotations];  

                      [self.mapView  removeOverlays: self.overlays];   

                      [self.mapView  setCompassImage: nil];

            }

五、大次数循环内存暴涨问题

      举例:

      for (int i =0; i <100000; i++) {        

             NSString *string =  @"Abc";

             string = [stringlowercaseString];

             string = [string  stringByAppendingString:@"xyz"];    

             NSLog(@"%@",string);

            }

修改为:

        for (int i =0; i < 100000; i++) {

                   @autoreleasepool {          

                           NSString *string = @"Abc";

                          string = [string  lowercaseString];

                          string = [string  stringByAppendingString:@"xyz"];

                          NSLog(@"%@",string);

                          }   

                 }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、从AFNet说起 对于iOS开发者,网络请求类AFNetWorking是再熟悉不过了,对于AFNetWorki...
    xh_0129阅读 383评论 0 0
  • 1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5...
    Icec阅读 1,573评论 0 7
  • 相对电脑而言,移动设备具有内存少、CPU速度慢等特点,因此iOS开发人员需要尽可能优化应用的性能。性能优化需要考虑...
    攻克乃还_阅读 371评论 0 0
  • 我喜欢给人惊喜的感觉,因为我自己也喜欢被惊喜,惊喜的感觉就像寒日里的暖阳,酷暑里的清泉。
    不舍的温柔阅读 505评论 0 0
  • 估你看到票一定翻白眼 心飘过一句 又来? 翻白眼.jpg (徐佳莹喔喔喔喔喔喔) 欢呼.jpg 你现在知道我点解想...
    Nickey的一些事一些情阅读 231评论 0 0