自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 OpenGL(一)基础知识

现在音视频类应用越来越多,特别是5G时代后,会出现井喷状态,所以开始学习这类东西。OpenGL,OpenGL ES ,Metal等,今天先说OpenGL。OpenGL是跨平台的,在Xcode中可以用C++来写(对于一个入行就开始做iOS的我来说,学习一门新的语言也是一道坎!!!)OpenGL其实更多的是操作GPU(CPU20%的运算,80%的逻辑业务。GPU是100%的运算。CPU是在...

2018-12-03 13:22:01 379

原创 Object-C 中的 KVC

在开发中,我们有时候需要求改系统控件里面某个属性,但该属性未必是开放的。那么,我们会想各种办法来完成。比如UITextField中placeholder的字体颜色。实现方法也很多,比如在用label啊,重写啊这些。我以前也经常这样做。但是KVC就可以很简单的解决这个问题。[self.textField setValue:[UIColor redColor] forKeyPath:@"_...

2018-09-19 10:42:05 189

原创 iOS 多线程下载,支持断点续传

听说有人面试的时候,遇到过这个问题。开始以为是开个线程下载文件,了解后才明白是开多才线程下载同一个文件。就如同迅雷。但是并不建议这样去做:1.因为线程开多了,并不会提高效率,反而会影响效率。CPU在线程中切换调度的问题。2.每开启一条线程,都会有资源消耗,移动端目前是没办法像PC那样可以任其挥霍的。3.耗电,很耗电,非常的耗电。想想你的手机用了没多久,看着电量一截一截的掉,你是不是...

2018-08-30 10:52:38 1792

原创 使用NSURLConnection写一个简单的可断点续传的多任务下载管理器

最后上代码,先记录整体思路。不啰嗦,直接开始。一.先实现下载工具(单个)1.根据URL去服务器获取下载文件大小。2.根据url判断本地是否存在之前下载的数据。3.比较本地与服务器文件大小。       如果本地文件为0,则开始下载。       如果本地文件大于0小于服务器文件大小,则断点续传。       如果本地文件等于服务器文件大小,则返回本地文件地址。   ...

2018-08-27 17:18:22 119

原创 NSURLConnection 具体了解

NSURLConnection 网络下载,是iOS2.0就开始提供的API,一直到iOS9的时候被弃用。+ (void)sendAsynchronousRequest:(NSURLRequest*) request  queue:(NSOperationQueue*) queue completionHandler:(void (^)(NSURLResponse* _Nullable resp...

2018-08-22 16:22:31 425

原创 iOS---加密

在我们的研发过程中,或多或少都会涉及到加密的工作。密码学最开始是用于军事领域。起源于凯撒大帝的密码本,并一直持续到上世纪70年代,也就是二战期间。在上世纪70年代出现了新的算法RSA(三个人的名字),RSA的加密算法是公开的!秘钥加密,公钥解密!公钥加密,私钥解密!他可用因式分解破解,但是需要用时50年。有一本书《我和RSA的20年》有具体描述。有RAS衍生出的算法有:1.哈希...

2018-08-20 14:49:24 152

原创 CoreAnimation

在学习这个之前,也用过,但仅仅是局限于用,对于更深的理解,还是在这次了解过后。在了解核心动画之前,我们需要了解下UIView和CaLayer的区别。UIView是绘制的图层和交互行为的封装。UIView中绘制的工作其实就是CaLayer去完成的,所以,在UIView的属性中都会有layer。也就是说,CaLayer才是真正去绘制的。(MAC和iOS是同一种绘制方式,不同的交互方式。想了解的...

2018-08-09 14:18:36 217

转载 RunLoop对tableView的性能优化

tableView中的cell是每次出现在屏幕上的时候加载他的内容。so,在加载cell的时候尽量不要做耗时操作,不然在tableView滚动的时候出现卡顿或卡死的情况。有一种耗时操作是在别的情况下无法解决的。加载较大图片,图片越大,加载越慢,如果一个cell上有多张图片,那么会更加卡顿。这个时候就可以用RunLoop去处理。tableView重用cell时,是在一次RunLoop循环中处...

2018-07-24 17:29:46 1118

原创 NSOperation的基本使用

NSOperation 是面向对象,在OC中很好理解。他的底层其实就是用GCD进行的封装。NSOperation 不能直接使用,直接使用的是NSInvocationOperation,NSBlockOperation,NSOperationQueue3个子类。NSInvocationOperation和NSBlockOperation都是创建操作,但具体实现方式不同。NSBlockOper...

2018-07-19 11:19:05 423

原创 GCD的理解

GCD为iOS提供的并发中枢调度器。他使用的是C语言,而非OC。不需要程序员去处理线程的生命周期。理解GCDGCD有2个主要组成:1队列,2任务队列主要有串行队列和并发队列串行队列----一个一个的去执行,必须等待上一个完成后,才能执行下一个。并发队列----一个执行中,就开始执行另一个。主队列----也就是main队列,主要是主线程在跑,不会在开启线程。全局队列---...

2018-07-18 14:34:37 200

原创 多线程基础知识

写在前面,虽然是分享,但更多的是自己学习后的记录。记录自己学习后理解。有不对的地方,欢迎指出,请勿喷!有很多东西也是学习而来。跟随人,视频,文件!什么是多线程进程是正在运行的一个应用程序,每个进程之前是独立的,每个进程均运行在收保护的内存空间内。一个进行想要执行任务,那么必须要要有线程(每个进行都至少有1个线程)。进程里面的所有任务都在线程中执行。一个线程里的任务都是串行的,执行完一个才会执行下一...

2018-07-13 16:39:45 90

原创 iOS直播研发初了解

先转一张图直播类的app基本的思维导图:1.音视频的采集    通过AVFoundation框架来获取来获取音视频数据。2.视频处理    视频也就是一张张的图片图片构成。那么图片就能做很多事情,但是又不可能如同图片那么简单的处理。需要用到GPUImage框架。3.音视频编码    FFempeg  X264框架  videoToolbox AudioToolbox    数据是AVFoundat...

2018-07-12 15:09:09 192

原创 KVO在tableView中的使用

第一次在这里写东西,以前都是在在代码中进行备注,或者写个备忘录。找起来太麻烦,就转战这里。慢慢丰富内容!文字功底太差也是一个原因!!!现在iOS开发大都是arc,但是有些地方需要注意,例如KVO,在你注册属性观察者后,也需要在界面释放时注销。不提其他,仅仅看看tableView中,因为tableViewCell的重用机制,如果在 - (UITableViewCell*)tableV...

2018-07-12 12:01:50 402

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除