当前位置: 首页 > news >正文

广州建设执业注册中心网站0资本建设网站

广州建设执业注册中心网站,0资本建设网站,南通做网站企业,网站建设要哪些工作★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号#xff1a;山青咏芝#xff08;shanqingyongzhi#xff09;➤博客园地址#xff1a;山青咏芝#xff08;https://www.cnblogs.com/strengthen/#xff09;➤GitHub地址山青咏芝shanqingyongzhi➤博客园地址山青咏芝https://www.cnblogs.com/strengthen/➤GitHub地址https://github.com/strengthen/LeetCode➤原文地址https://www.cnblogs.com/strengthen/p/10335778.html ➤如果链接不是山青咏芝的博客园地址则可能是爬取作者的文章。➤原文已修改更新强烈建议点击原文地址阅读支持作者支持原创★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 目录[Swift]通天遁地Swift 本文将演示使用Instruments Leaks工具检测应用程序中的内存泄漏问题。 内存溢出 out of memory是指程序在申请内存时没有足够的内存空间供其使用出现out of memory比如申请了一个integer,但给它存了long才能存下的数那就是内存溢出。 内存泄露 memory leak是指程序在申请内存后无法释放已申请的内存空间一次内存泄露危害可以忽略但内存泄露堆积后果很严重无论多少内存,迟早会被占光。 在项目文件夹【DemoApp】上点击鼠标右键弹出右键菜单。 【New File】-【Swift File】-【Next】-【Save As】:People.swift-【Create】 1 import Foundation2 //主人类3 class People4 {5 //名称属性6 var name : String7 //主人的宠物8 var pet : Pet?9 10 //添加一个初始化方法并以名称作为参数 11 init(name:String) 12 { 13 //设置对象的名称属性 14 self.name name 15 //初始化日志 16 print(People is initialized.) 17 } 18 19 //添加一个析构方法 20 deinit 21 { 22 //析构日志 23 print(People is deinitialized.) 24 } 25 } 使用相同的方式创建另一个类文件【Pet.swift】  1 import Foundation2 //宠物类3 class Pet4 {5 //名称属性6 var name : String7 //宠物的主人属性8 var master : People?9 10 //添加一个初始化方法并以名称作为参数 11 init(name:String) 12 { 13 //设置名称属性 14 self.name name 15 //输出初始化日志 16 print(Pet is initialized.) 17 } 18 19 //添加一个析构方法 20 deinit 21 { 22 //析构日志 23 print(Pet is deinitialized.) 24 } 25 } 在项目导航区打开视图控制器的代码文件【ViewController.swift】  1 import UIKit2 3 class ViewController: UIViewController {4 5 override func viewDidLoad() {6 super.viewDidLoad()7 // Do any additional setup after loading the view, typically from a nib.8 9 //添加一个按钮当用户点击该按钮时创建主人对象和宠物对象。 10 let button UIButton(frame: CGRect(x: 0, y: 0, width: 280, height: 44)) 11 //将按钮控件放置在根视图的中心位置 12 button.center self.view.center 13 //设置正常状态下的标题文字 14 button.setTitle(PeopleAndPet, for: .normal) 15 //设置按钮的背景颜色为橙色 16 button.backgroundColor UIColor.orange 17 //给按钮绑定点击事件 18 button.addTarget(self, 19 action: #selector(ViewController.peopleAndPet), 20 for: UIControl.Event.touchUpInside) 21 22 //设置根视图的背景颜色 23 self.view.backgroundColor UIColor.orange 24 //并把按钮控件添加到根视图 25 self.view.addSubview(button) 26 } 27 28 //添加一个方法用来响应按钮的点击事件 29 objc func peopleAndPet() 30 { 31 //添加一个主人对象和一个宠物对象 32 var master:People? 33 var dog:Pet? 34 35 //对两个对象进行初始化操作并设置它们的名称属性。 36 master People(name: Jerry) 37 dog Pet(name: Dog) 38 39 //设置主人的宠物属性 40 //设置宠物的主人属性 41 //使两个对象相互引用 42 //由于两个对象互相引用所以两个对象并不会在内存中被释放。 43 master!.pet dog 44 dog!.master master 45 46 //将两个对象置空 47 master nil 48 dog nil 49 } 50 51 override func didReceiveMemoryWarning() { 52 super.didReceiveMemoryWarning() 53 // Dispose of any resources that can be recreated. 54 } 55 } 点击【Product】-【Profile】-在弹出的性能分析模块窗口中选择需要的模块。 在此选择【Leaks】-【Choose】 点击左上角的记录按钮开始运行程序。 应用程序启动之后在内存状态时间图谱上显示了一个泄露图标点击此图标显示详细的内存信息。 此时在内存泄露堆栈列表中显示了产生内存泄露的两个对象。点击选择第一个对象。 然后点击内存地址右侧的小箭头显示内存分配的历史记录。 在此记录中只看到了记录分配的时间而没有内存被释放的时间。 所以也证明了该对象的内存确认未被释放。 选择列表中的周期和根选项【Cycles Roots】此时显示了内存泄露的周期图。 从图中可以看出内存泄露的问题是People对象和Pet对象循环引用造成的。 选择列表中的调用树选项选项【Call Tree】, 依次点击标签名称左侧的小箭头查看内存分配的历史调用记录。 点击【设置】图标进行显示选项设置面板。勾选【HideSystem Libraries】隐藏系统库。 此时只显示了开发者的调用记录鼠标双击标签名称。显示了详细的代码信息。 点击左上角的软件图标返回Xcode。将Pet对象的引用修改为弱引用。 1 import Foundation2 //主人类3 class People4 {5 //名称属性6 var name : String7 //主人的宠物8 //将宠物对象的引用修改为弱引用。9 //就不会产生内存泄露的问题。 10 weak var pet : Pet? 11 12 //添加一个初始化方法并以名称作为参数 13 init(name:String) 14 { 15 //设置对象的名称属性 16 self.name name 17 //初始化日志 18 print(People is initialized.) 19 } 20 21 //添加一个析构方法 22 deinit 23 { 24 //析构日志 25 print(People is deinitialized.) 26 } 27 } 点击【Product】-【Profile】-【Leaks】-【Choose】 此时在内存分配时间图谱上显示的是正确的内存分配和释放图标。转载于:https://www.cnblogs.com/strengthen/p/10335778.html
http://www.yutouwan.com/news/316531/

相关文章:

  • 网站网页模板做软件的网站担保网站
  • 学校后勤网站建设的作用会员卡管理系统怎么制作
  • wordpress换域名后图片无法显示google seo教程
  • 东莞黄江网站建设天天自学网网址
  • 公司做网站怎么收费wordpress手机顶部菜单
  • 网页设计与网站建设连接数据库国际近期新闻
  • 用闲置的安卓手机做网站服务器营销手段有哪些
  • 开发网站用什么软件广州网站制作费用
  • 学网站建设难吗专业移动网站建设
  • 长春求推荐好的网站优化推广虚拟空间做网站
  • 睢县网站建设成都做网站建设公司
  • 网站视觉元素网站建设的一些专业术语
  • 手机免费创网站备案期间 需要关闭网站
  • 企业资质证书查询官方网站亚洲室内设计公司排名
  • 网站建设合同交什么印花税电商网站的活动怎么做
  • 机械网站优化重庆市建设工程造价管理站
  • 四川网站建设和优化百度推广账户登录首页
  • 天猫的网站导航怎么做的简述网络营销服务的特点
  • 如何学习建设网站公司网站建设方案模板下载
  • 波兰网站后缀网站建设业务的销售人员培训文档
  • 站长统计性宝app图书电子商务网站建设
  • 招聘类网站怎么做北京网站开发团队
  • 成都移动网站建设专门做美妆的网站
  • 深圳做积分商城网站公司网络销售工作内容
  • 怎么用wix做网站网站开发平台软件
  • 如何优化基础建站网站名称和备案名称不一样
  • 平面设计教程网站有哪些网络营销策划书模板
  • 深圳网站建设 百度一下seo培训学校排名
  • 可以直接进入网站的代码长宁区公司网站建设
  • 河池网站制作公司遵义在线