07 2018 档案

06: RGB、YUV和HSV颜色空间模型
摘要:RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间 一、概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间。但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象。颜色空间按照基本机构可以分为两大 阅读全文

posted @ 2018-07-27 10:46 风zk 阅读(405) 评论(0) 推荐(0)

05:videoToolbox:硬解码
摘要:videoToolbox:硬解码 前言:VTDecompressionSession 工作流程: 1:创建解压的会话。 2:配置会话属性。 3:解压视频帧数据。 4:释放会话、释放资源。 介绍 VTDecompressionSession 管理传入视频数据解压缩的会话对象。 解压缩会话支持视频帧序列 阅读全文

posted @ 2018-07-27 10:00 风zk 阅读(844) 评论(0) 推荐(0)

04:videoToolbox:硬编码
摘要:一:前言: 1:apple develop 来源 2:VideoToolbox(视频工具箱)工作流程 2.1:创建 一个压缩会话。 2.2:添加会话属性。 2.3:编码视频帧、接受视频编码回调。 2.4:强制完成一些或者全部未处理的视频帧。 2.5:释放压缩会话、释放内存资源。 3:demo 地址 阅读全文

posted @ 2018-07-26 16:01 风zk 阅读(2964) 评论(0) 推荐(0)

03:H.264编码原理以及视频压缩I、P、B帧
摘要:一:前言 H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中, 一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我 阅读全文

posted @ 2018-07-26 11:11 风zk 阅读(2318) 评论(0) 推荐(0)

02:H.264学习笔记
摘要:H.264组成 1、网络提取层 (Network Abstraction Layer,NAL) 2、视讯编码层 (Video Coding Layer,VCL) a.H.264/AVC影像格式阶层架构 b.Slice的编码模式 (1) I -slice: slice的全部MB都采用intra-pre 阅读全文

posted @ 2018-07-25 20:16 风zk 阅读(331) 评论(0) 推荐(0)

01:***VideoToolbox硬编码H.264
摘要:最近接触了一些视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和解码,俗称为软编软解。该方法比较通用,但是占用CPU资源,编解码效率不高。一般系统都会提供GPU或者专用处理器来对视频流进行编解码,也就是硬件编码和解码,简称为硬编解码。苹果在iOS 8.0系统之 阅读全文

posted @ 2018-07-25 15:01 风zk 阅读(1382) 评论(0) 推荐(0)

00*:openGL目录
摘要:1:Style_月月 :https://www.jianshu.com/p/5445fb11e06b 2:XiaoFan: https://www.yuque.com/fyc_ios/dlkdip/sym0lz 阅读全文

posted @ 2018-07-24 15:14 风zk 阅读(460) 评论(0) 推荐(0)

44 (OC)* 内存泄漏、什么情况下会出现内存泄漏、野指针、空指针、nil、NSNull、(僵尸对象、野指针、bad_access )
摘要:问题: 1:空指针、野指针、内存泄漏、常见的内存泄漏有哪些?怎样检测和防止内存泄漏 2:nil、Nil、NULL、NSNull的区别 ? 3:bad_access 僵尸对象 一:内存泄漏 程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等 阅读全文

posted @ 2018-07-17 11:09 风zk 阅读(366) 评论(0) 推荐(0)

049*:什么是动态连接库?静态库?你有没有自己写过静态编译库,遇到了哪些问题?
摘要:一:介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝(图1所示) 系统动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多 阅读全文

posted @ 2018-07-17 11:04 风zk 阅读(254) 评论(0) 推荐(0)

41 (OC)* OC的理解与动态特性
摘要:1:动态类型(Dynamic typing),动态绑定(Dynamic binding)和动态加载(Dynamic loading)。 动态类型:即运行时再决定对象的类型。简单说就是id类型。id类型即通用的对象类,任何对象都可以被id指针所指。 动态绑定:动态绑定确定该对象对应的属性和响应的消息。 阅读全文

posted @ 2018-07-17 10:32 风zk 阅读(342) 评论(0) 推荐(0)

40 (OC)* 数据库常见sql语句
摘要:1:增加INSERT INTO t_student (name, age) VALUES ('liwx', 18);2:删除DELETE FROM t_student WHERE name = 'liwx';3:修改UPDATE t_student SET age = 19 WHERE name = 阅读全文

posted @ 2018-07-17 10:29 风zk 阅读(311) 评论(0) 推荐(0)

39 (OC) 瀑布流、不规则UI
摘要:39 (OC) 瀑布流、不规则UI 阅读全文

posted @ 2018-07-17 10:28 风zk 阅读(140) 评论(0) 推荐(0)

38 (OC)* 进程、线程、堆栈
摘要:一、进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ、Xcode,系统就会分别启动2个进程 通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程 1个进程要想执行任务,必须得有线程(每 阅读全文

posted @ 2018-07-17 10:24 风zk 阅读(192) 评论(0) 推荐(0)

37 (OC)* 类别的作用
摘要:问题: OC中类别(Category)是什么?Category类别是Objective-C语言中提供的一个灵活的类扩展机制。类别用于在不获悉、不改变原来代码的情况下往一个已经存在的类中添加新的方法,只需要知道这个类的公开接口,而不需要知道类的源代码。类别只能为已存在的类添加新的功能扩展方法,而不能添 阅读全文

posted @ 2018-07-17 10:23 风zk 阅读(170) 评论(0) 推荐(0)

35 (OC) 缓存策略
摘要:35 (OC) 缓存策略 阅读全文

posted @ 2018-07-17 10:20 风zk 阅读(102) 评论(0) 推荐(0)

34 (OC) LLDB调试器
摘要:34 (OC) LLDB调试器 阅读全文

posted @ 2018-07-17 10:19 风zk 阅读(75) 评论(0) 推荐(0)

040*: Instruments
摘要:1.Blank(空模板):创建一个空的模板,可以从Library库中添加其他模板; 2.Activity Monitor(活动监视器):监控进程的CPU,内存,磁盘,网络使用情况 是程序在手机运行真正占用的内存大小 3.Allocations(内存分配):跟踪过程的匿名虚拟内存和堆的对象提供类名和可 阅读全文

posted @ 2018-07-17 10:17 风zk 阅读(118) 评论(0) 推荐(0)

32 (OC)* keyChain的本质
摘要:1:它是一个sqlite数据库,其保存的所有数据都是加密过的。 2:Keychain是加密规则(key)的集合。每个规则必须含有以下三个要素:认证算法、认证密钥(加密字符串)、规则的时间。 3:keychain item。15000个item和1个item50个键值对。 4:keychain保存更为 阅读全文

posted @ 2018-07-17 10:15 风zk 阅读(528) 评论(0) 推荐(0)

31 (OC)* 内存管理
摘要:31 (OC) 内存管理 一:内存管理黄金法则。 如果对一个对象使用了alloc、[Mutable]copy,retain,那么你必须使用相应的realease或者autorelease 二:内存管理机制 cocoa中的内存管理机制——引用计数 引用计数(reference counting)又称为 阅读全文

posted @ 2018-07-17 10:12 风zk 阅读(98) 评论(0) 推荐(0)

30 (OC)* 数据结构和算法
摘要:在描述算法时通常用o(1), o(n), o(logn), o(nlogn) 来说明时间复杂度 o(1):是最低的时空复杂度,也就是耗时/耗空间与输入数据大小无关,无论输入数据增大多少倍,耗时/耗空间都不变。 哈希算法就是典型的O(1)时间复杂度,无论数据规模多大,都可以在一次计算后找到目标(不考虑 阅读全文

posted @ 2018-07-17 10:10 风zk 阅读(232) 评论(0) 推荐(0)

29 (OC) 正则表达式
摘要:29 (OC) 正则表达式 阅读全文

posted @ 2018-07-17 10:09 风zk 阅读(78) 评论(0) 推荐(0)

28 (OC) 第三方分享
摘要:28 (OC) 第三方分享 阅读全文

posted @ 2018-07-17 10:08 风zk 阅读(71) 评论(0) 推荐(0)

27 (OC) iOS和JS交互、WKWebView
摘要:一: WKWebview新特性 1,在性能、稳定性、功能方面有很大提升,占用内存约为UIWebView的1/3 ~ 1/4。2,高达60fps的滚动刷新率和丰富的内置手势。3,更多的支持HTML5的特性。4,具有Safari相同的JavaScript引擎。5,允许JavaScript的Nitro库加 阅读全文

posted @ 2018-07-17 10:07 风zk 阅读(106) 评论(0) 推荐(0)

26 (OC) 地图
摘要:26 (OC) 地图 阅读全文

posted @ 2018-07-17 10:05 风zk 阅读(81) 评论(0) 推荐(0)

25 (OC)* iOS网络HTTP、TCP、UDP、Socket 知识总结
摘要:应用层:1.用户接口、应用程序;2.Application典型设备:网关;3.典型协议、标准和应用:TELNET、FTP、HTTP 表示层:1.数据表示、压缩和加密presentation2.典型设备:网关3.典型协议、标准和应用:ASCLL、PICT、TIFF、JPEG|MPEG4.表示层相当于一 阅读全文

posted @ 2018-07-17 10:02 风zk 阅读(465) 评论(0) 推荐(0)

24 (OC)* 加密
摘要:一 .MD5加密 MD5加密是最常用的加密方法之一,是从一段字符串中通过相应特征生成一段32位的数字字母混合码。 MD5主要特点是 不可逆,相同数据的MD5值肯定一样,不同数据的MD5值不一样(也不是绝对的,但基本是不能一样的)。MD5算法还具有以下性质: 1、压缩性:任意长度的数据,算出的MD5值 阅读全文

posted @ 2018-07-17 10:01 风zk 阅读(204) 评论(0) 推荐(0)

22 (OC) 支付
摘要:22 (OC) 支付 阅读全文

posted @ 2018-07-17 10:00 风zk 阅读(101) 评论(0) 推荐(0)

042* APNS推送和第三方推送
摘要:1:APNS的推送机制 2:APNS推送通知的详细工作流程 3:准备工作 4:TCP长连接 5:消息格式 6:卸载后接受不到消息 1.APNS的推送机制 首先我们看一下苹果官方给出的对ios推送机制的解释。如下图 Provier 代表我们自己的应用服务器 APNs 代表苹果的APNS推送服务器 接着 阅读全文

posted @ 2018-07-17 10:00 风zk 阅读(814) 评论(0) 推荐(0)

21 (OC) 数据持久化
摘要:概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 Cor 阅读全文

posted @ 2018-07-17 09:59 风zk 阅读(226) 评论(0) 推荐(0)

19 (OC)* RunLoop
摘要:目录 一. RunLoop简介 1.1:什么是RunLoop 1:运行循环,其本质是一个do while循环。 2:RunLoop提供了这么一种机制,在程序运行过程中循环做一些事情,如果没有Runloop程序执行完毕就会立即退出,如果有Runloop程序会一直运行,并且时时刻刻在等待用户的输入操作。 阅读全文

posted @ 2018-07-17 09:57 风zk 阅读(196) 评论(0) 推荐(0)

058* RunTime(1: 动态方法交换:Method Swizzling 2:实现分类添加新属性 3:获取类的详细信息 4:动态添加方法 5:归档、解档 6:字典转模型 7:多继承 【protocol】)
摘要:目录: 应用场景 1: 动态方法交换:Method Swizzling 2:实现分类添加新属性 3:获取类的详细信息 4:动态添加方法 5:归档、解档 6:字典转模型 7:多继承 正文 一:总结 3.1:类的所有缓存都存在metaclass上,所以每个类都只有一份方法缓存,而不是每一个类的objec 阅读全文

posted @ 2018-07-17 09:56 风zk 阅读(189) 评论(0) 推荐(0)

17 (OC)* 贝塞尔曲线、SVG
摘要:iOS UIBezierPath使用——贝塞尔曲线 ios 贝塞尔曲线 阅读全文

posted @ 2018-07-17 09:55 风zk 阅读(125) 评论(0) 推荐(0)

16 (OC)* UIAnimation和CoreAnimation
摘要:目录 一 Core Animation 二 核心动画 2.1 基础动画 2.2 关键帧动画 2.3 动画组 2.4 转场动画 2.5 逐帧动画 三 UIView动画封装 3.1 基础动画 3.2 弹簧动画 3.3 关键帧动画 3.4 转场动画 一 Core Animation 大家都知道在iOS中实 阅读全文

posted @ 2018-07-17 09:50 风zk 阅读(357) 评论(0) 推荐(0)

15 (OC)* UIGesture
摘要:前言 本文主要内容如下: 1. UIGestureRecognizer 属性、方法、代理和七个子类详解。 2. 讲讲 UIGestureRecognizer 和 UITouch 事件的关系。 3. 讲讲如何自定义手势? 一、手势识别器-UIGestureRecognizer 1.1 简介 UIGes 阅读全文

posted @ 2018-07-17 09:48 风zk 阅读(331) 评论(0) 推荐(0)

14 (OC)* UIView和UILayer
摘要:总接来说就是如下几点: 1:每个 UIView 内部都有一个 CALayer 在背后提供内容的绘制和显示,并且 UIView 的尺寸样式都由内部的 Layer 所提供。两者都有树状层级结构,layer 内部有 SubLayers,View 内部有 SubViews.但是 Layer 比 View 多 阅读全文

posted @ 2018-07-17 09:47 风zk 阅读(210) 评论(0) 推荐(0)

039* SDWebImage底层原理、查找、超出释放、下载编码
摘要:1:底层原理 在之前我写过SDWebImage的使用方法,主要是用与获取网络图片,没有看过的朋友可以看看。 这篇文章将主要介绍SDWebImage的实现原理,主要针对于获取网络图片的原理,如果没有第三方我们该怎么去做,当然我知识用文字去介绍,我想花大把的时间去深入理解我们用不到的东西,是很不值得的, 阅读全文

posted @ 2018-07-17 09:34 风zk 阅读(256) 评论(0) 推荐(0)

11 (OC)* CoreImage
摘要:coreimage framework 组成 apple 已经帮我们把image的处理分类好,来看看它的结构: 主要分为三部分: 1)定义部分:CoreImage 何CoreImageDefines。见名思义,代表了CoreImage 这个框架和它的定义。 2)操作部分: 滤镜(CIFliter): 阅读全文

posted @ 2018-07-17 09:28 风zk 阅读(524) 评论(0) 推荐(0)

10 (OC)* Coretext
摘要:CoreText实现 看上图,我们可以知道,一个View包括CTFrame,CTFrame中间包括许多行CTLine,而一个CTLine中包括许多CTRun CTLine其实比较好理解,当我们用UILabel显示文本内容时,一行就是一个CTLine,一个CTLine中有一个或者多个CTRun,CTR 阅读全文

posted @ 2018-07-17 09:27 风zk 阅读(287) 评论(0) 推荐(0)

09 (OC)* 键路径(keyPath)、键值编码(KVC)、键值观察(KVO)
摘要:键路径在一个给定的实体中,同一个属性的所有值具有相同的数据类型。键-值编码技术用于进行这样的查找—它是一种间接访问对象属性的机制。 - 键路径是一个由用点作分隔符的键组成的字符串,用于指定一个连接在一起的对象性质序列。第一个键的性质是由先前的性质决定的,接下来每个键的值也是相对于其前面的性质。键路径 阅读全文

posted @ 2018-07-17 09:26 风zk 阅读(706) 评论(0) 推荐(0)

035* 事件的产生、传递、响应、应用(UIView不响应事件4种情况:超出父控件响应区、alpha<0.01、隐藏、交互=NO)【hitTest:withEvent:最适合的view和拦截事件】【pointInside:withEvent:点是否在自己坐标系】
摘要:问题: 前言: 苹果的官方文档《Event Handling Guide for iOS》对事件处理做了非常详尽清晰的解释,建议大家仔细研读 1. iOS中的事件介绍 2. 事件的产生和传递 3. 事件响应 4. 实际项目中的应用 一:iOS中的事件介绍 1:iOS中的事件可以分为3大类型: 触屏事 阅读全文

posted @ 2018-07-15 17:22 风zk 阅读(1512) 评论(0) 推荐(0)

07 (OC)* XIB原理和Xib、storyBoard、代码的优缺点
摘要:1:可读性 2:可视化界面、立马看到 3:开发速度。 4:复用性 5:维护性差 本质 编译时对xml文件做了如下操作1,读取xml文件,生成所有界面对象,生成所有object(即自定义的controller类等),设置好各个obejct之间的联系(IBAction,IBOutlet)2,对这一坨对象 阅读全文

posted @ 2018-07-15 16:38 风zk 阅读(438) 评论(0) 推荐(0)

06 (OC)* iOS中UI类之间的继承关系
摘要:iOS中UI类之间的继承关系 此图可以更好的让你去理解iOS中一些底层的关系.你能够了解以及理解UI类之间的继承关系,你会更加明白苹果有关于底层的东西,更有助于你的项目开发由它们的底层关系,就能更加容易让我们理解和区别它们之间的关系了! UIKit.jpg UIKit.jpg UI和OC.jpg U 阅读全文

posted @ 2018-07-15 16:03 风zk 阅读(304) 评论(0) 推荐(0)

05 (OC) 二叉树 深度优先遍历和广度优先遍历
摘要:总结深度优先与广度优先的区别 1、区别 1) 二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。 2) 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为先序遍历、中序遍 阅读全文

posted @ 2018-07-12 23:30 风zk 阅读(1200) 评论(0) 推荐(0)

04 (OC)* weak的实现原理
摘要:一:Weak 表 1: Runtime 维护了一个 Weak 表,用于存储所有 Weak 指针。Weak 表是一个哈希表,Key 是对象的地址,Value 是一个数组,数组里面放的是 Weak 指针的地址(这个地址的值是所指对象的地址)。 2:在对象被回收的时候,首先根据对象地址获取所有 Weak 阅读全文

posted @ 2018-07-12 22:56 风zk 阅读(397) 评论(0) 推荐(0)

03 (OC)* UITableView优化
摘要:一:cell注册和初始化 1:不注册cell 2:注册类 3:注册nib 4:storyboard 二:核心思想 1:UITableView的核心思想是:cell的重用机制。UITbleView只会创建一屏幕(或一屏幕多一点)的cell, 每当cell滑出屏幕时,就会放倒一个集合(或数组)中(这里相 阅读全文

posted @ 2018-07-11 22:26 风zk 阅读(225) 评论(0) 推荐(0)

037* ViewController 的生命周期,Push和present
摘要:生命周期 一. UIViewController 的 生命周期 代码 示例 #pragma mark life circle // 非storyBoard(xib或非xib)都走这个方法 - (instancetype)initWithNibName:(NSString *)nibNameOrNil 阅读全文

posted @ 2018-07-11 21:52 风zk 阅读(236) 评论(0) 推荐(0)

039 *:property 后面可以有哪些修饰符?(线程安全、读写、内存管理)(atomic,nonatomic,readonly,readwrite,assign, copy, strong,weak,Retain)(weak和assign)(浅拷贝、单层深拷贝、深拷贝) 可变数组(环形缓冲区)字典(哈希表)
摘要:一:@property 后面可以有哪些修饰符? 1:线程安全的: atomic,nonatomic 2:访问权限的 readonly,readwrite 3:内存管理(ARC) assign, copy, strong,weak, 4: 内存管理(MRC) assign,retain,copy AR 阅读全文

posted @ 2018-07-04 14:37 风zk 阅读(348) 评论(0) 推荐(0)

导航