码迷,mamicode.com
首页 > 其他好文 > 详细

MJ - 0918 - 网络编程1

时间:2014-10-02 16:13:03      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:http   io   使用   strong   文件   sp   问题   c   on   

实例:应用列表(网络获取图片)


 

1. 创建tableViewController

2. 导入app的plist

3. 导入app的Model(保存模版文件)

4. 在控制器写apps的懒加载(添加代码快)

5. 设置列表的行数

 

6. 创建cell(添加代码快)

bubuko.com,布布扣

7. 给cell中的detailTitle和title赋值

bubuko.com,布布扣

8. 开辟子线程设置imageView

    8.1直接设置的弊端

          1. 阻塞主线程,造成UI操作无响应

        2. 重复下载,浪费资源,浪费流量

    8.2懒加载创建队列

    bubuko.com,布布扣

    创建操作对象,下载图片

bubuko.com,布布扣

      问题:下载失败后不能重新下载

    解决:创建存储操作和url的字典,创建一一对应关系 bubuko.com,布布扣

 

    问题:重复下载

    解决:判断是否成功下载过,判断字典中是否已存在下载操作operation

bubuko.com,布布扣

bubuko.com,布布扣

    问题:初始化cell时没有设置imageview的尺寸而无法显示,或者cell重用时显示的是缓存cell的内容,误导用户

    解决:使用占位图

    bubuko.com,布布扣

    问题:图片还没有下载完成,其所在的cell就被重用,要是当前要设置的图片下载比较快,先前下载的图片就会在后面覆盖当前的图片,imageView图片设置顺序:占为图->当前图片->先前图片

    解决:不直接设置imageView.image,而是刷新表格,通过字典中的内容设置

bubuko.com,布布扣

    问题:刷新怎个表格浪费内存资源

    解决:单行刷新

bubuko.com,布布扣

    问题:图片下载太多容易引发内存警报

    解决:1. 释放字典,

    bubuko.com,布布扣

        2. 开始拖拽暂停队列,结束拖拽恢复队列

        bubuko.com,布布扣

    问题:xxViewController、queue、operation之间循环引用

    解决:使用viewController的弱指针对象

    bubuko.com,布布扣

    或bubuko.com,布布扣

    

    问题:字典的key不能是nil,图片下载失败返回空时,程序会崩溃

    解决:

 

 

######使用沙盒 #############################################

UIImage -> NSData -> File

bubuko.com,布布扣

 

Caches不会备份,也不会自动清理,用于存放占内存的资源

bubuko.com,布布扣

 

手机端必须使用全路径

bubuko.com,布布扣

 

存储图片缓存到沙盒中

bubuko.com,布布扣

 

取出沙盒中的图片

bubuko.com,布布扣

 

 

 

》封装下载流程,控制器只需调用即可

    1 创建下载图片的代理方法

    2  创建代理

    3 创建url和indexpath属性

    4 控制器设置url和indexPath

    5 设置控制器为代理

    6 实现代理方法

    7 获取Image

bubuko.com,布布扣

 

 

》耗时操作可能被中途取消,需要把代理方法终止,响应取消操作

bubuko.com,布布扣

 

 

 

SDWebImage框架(掌握)


 

bubuko.com,布布扣

缓存管理

bubuko.com,布布扣

 

默认最大缓存时间:一周

bubuko.com,布布扣

默认最大缓存容量:没有设置

 

 

网络编程概览


》HTTP请求方案

苹果原生

NSURLConnection

NSURLLession

CFNetwork

 

第三方框架

ASIHTTPRequest

MKNetworkKit

 

bubuko.com,布布扣

 

 

扩展知识点


1. 

2. block中用到的对象都会被强引用,因为block代码不确定什么时候被调用

3. 

bubuko.com,布布扣

4. XXAppDelegate负责监控整个项目

 

MJ - 0918 - 网络编程1

标签:http   io   使用   strong   文件   sp   问题   c   on   

原文地址:http://www.cnblogs.com/jqtech/p/4004072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!