iOS开发UITableView加载图片的内存管理.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOS开发UITableView加载图片的内存管理

iOS 开发 UITableView 加载图片的内存管理① 黄天柱, 涂时亮 (复旦大学 计算机科学技术学院, 上海 200433) 摘 要: 首先对移动操作系统 iOS 开发过程的内存泄露、缓存等相关知识作了详细叙述, 介绍了使用 iOS 集成开 发环境 Xcode 进行内存调试的方法. 针对视图 UITableView 中含有大量网络图片时的内存问题, 为了达到内存最 优化和良好用户体验的目标, 提出异步下载网络图片和本地缓存的解决方法. 最后测试结果表明 UITableView 在 下载图片和滑动的过程中内存占用量趋于稳定, app 的运行速度较为顺畅, 拥有较好的用户体验. 关键词: iOS; UITableView; 内存管理; 内存优化; 引用计数; Instruments Memory Management and Optimization of iOS Development HUANG Tian-Zhu, TU Shi-Liang (School of Computer Science, Fudan University, Shanghai 200433, China) Abstract: This paper describes the knowledge of memory management and cache of iOS development in detail, and introduces methods of debugging memory problems using tools which is provided by Apple IDE Xcode, for the memory problems when UITableView contains large amounts of network pictures, with the goal of memory optimization and best user experience. It proposed network of asynchronous-download pictures and the local cache solution. Finally, test results show that the memory allocation is safe and stable, the app runs more smoothly, and have a better user experience. Key words: iOS; UITableView; memory management; memory optimization; reference count; Instruments 1 概述 iOS 是由苹果公司开发的手持设备操作系统, 最 新版的 iOS 系统 [1](iOS5) 中 , 系统 操作占 用大 概 774.4MB 的内存空间. iOS 与苹果的 Mac OS X 操作系 统一样, 它也是以 Darwin 为基础的, 因此同样属于类 Unix 的商业操作系统. Cocoa 是苹果公司为 Mac OS X 所创建的原生面向对象的编程环境. Cocoa 应用程序 一般在苹果公司的开发工具 Xcode 和 Interface Builder 上用编程语言 Objective-C 写成. iOS 对开发者进行内 存管理的要求很严格, 对于程序 crash、有 memory leak、以及内存占用量过大的程序, 都不能通过审核. 这样需要开发者在开发过程中对程序中的每个变量都 需要细心地进行内存管理方面的工作, Cocoa 环境的 一个特点是它可以管理动态分配的内存. 不仅需要开 发者在开发过程中对每个对象的引??计数进行维护, 防止 memeory leak(内存泄露). 而且如果程序一次加 载太多的数据, 那么也会导致内存短缺. 当使用占用 内存较大的图像、音频时, 在内存中保留所有东西会 导致问题. 在 iOS 应用中, UITableView 应该是使用率 最高的视图之一了. iPod、时钟、日历、备忘录、Mail、 天气、照片、电话、短信、Safari、App Store、iTunes、 Game Center 几乎所有自带的应用中都能看到它, 可 见它的重要性. 然而在使用第三方应用时, 却经常遇 到 性能上的问 题 . 为 了 使 表格滑动较 为流畅 , UITableView 以标识 UITableViewCell 达到不开销内存 只改变 cell 内容而重用, 是苹果为了实现大量数据显 示而采用的一种

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档