iOS内存警告使用小例

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    //此处使用isViewLoaded来判断当前视图是否在内存中,  
    //self.view.window用来判断当前视图是否显示在window上  
    //面,所以此处的逻辑就是当收到内存警告时,如果当前页面
    //已经加载在内存中,并且没有显示在window上面时,将其内
    // 部的一些资源进行释放。
    if (self.isViewLoaded && !self.view.window) {
        //所有需要在viewDidLoad加载的全局变量都要在此处释
        //放,包含strong变量和字典、数组。
        //注意从上一个界面传过来的参数不要在此处释放
        //如果需要记录界面交互状态,可以不将self.view设置为nil
        cardType = nil;
        passengerTableView = nil;
        frequentFlyerCache = nil;
        self.view = nil;//当再次进入此视图中时能够重新调用viewDidLoad方法
    }
}

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

推荐阅读更多精彩内容