摘要:学习路线 "直播方案流程" "Android音视频指南" "iOS音视频指南" 音频编码参考博客 "音频编码基础知识" "编码基础知识" 代码 "LVAudioAndVideo" 阅读全文
posted @ 2017-11-20 15:00 lvable 阅读 (64) 评论 (0) 编辑
摘要:今天看到了这个问题,觉得知乎上一个回答非常好,记录一下。 一般算比较小的数字的话,就先找小于并且临这个数最近的2的N次方。然后依次。 比如 37 32 + 4 + 1 对应的就是 100101 32 16 8 4 2 1 有的写1,反之写0 !(https://www.zhihu.com/quest 阅读全文
posted @ 2019-04-14 16:35 lvable 阅读 (610) 评论 (0) 编辑
摘要:🤔:要做啥? 👨:自动埋点SDK。 🤔:具体有哪些要求? 👨:1尽量不写在业务中;2可以fix;3数据收集准确且稳定。 🤔:emmmmmm,不写上报部分? 👨:先用神策SDK。 🧠 …… 🤔:ing 🤔一定设计实践后 [ ] 事件参数(服务端提供) [ ] 页面维表(服务端?客户端 阅读全文
posted @ 2019-03-21 16:16 lvable 阅读 (324) 评论 (0) 编辑
摘要:"iOS内存优化基础" "腾讯帧动画优化方案" 基础内存优化 1.I/O性能优化 减少I/O次数是性能优化的关键点: 将零碎的内容作为一个整理进行写入 使用合适的I/O操作API 使用合适的线程 使用NSCache做缓存能够减少I/O 1 1.NSCache 自动清理系统占用的内存 NSCache线 阅读全文
posted @ 2018-04-03 14:17 lvable 阅读 (136) 评论 (0) 编辑
摘要:参考 "互联网协议入门(一) 阮一峰" "互联网协议入门(二) 阮一峰" "OSI每层数据包" "Wireshark入门" 5.应用层:规定应用程序的数据格式,所有应用程序协议构成的 4.传输层:端口之间的交流,Unix系统下主机+端口(scoket) 3.网络层:确定计算机所在的子网络 2.链路层 阅读全文
posted @ 2018-03-08 14:25 lvable 阅读 (75) 评论 (0) 编辑
摘要:1.MVC框架目的 首先,有一个问题: M V C你认为最重要? Model作为数据传输对象,驱动V的变化。 使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,M和V永远不能相互通讯,但就目前我们iOS开发使用时候不是这样的严格的,所以寄托在MVVM上面了。 场景:产 阅读全文
posted @ 2017-03-14 15:07 lvable 阅读 (84) 评论 (0) 编辑
摘要:推荐 "JLRoutes路由跳转" "NSScanner" 在寻找更加灵活的页面跳转和通知,我遇见了 ,从而学习使用URL Scheme来定义界面入口。以前从来没有使用过,不过很多大厂和流行的框架都普遍使用URL Scheme,一直单枪匹马的我必须要与时俱进了否则会Out~ 1.预热 在info.p 阅读全文
posted @ 2017-01-04 15:58 lvable 阅读 (274) 评论 (0) 编辑
摘要:"高效编写代码 消息转发" "深入了解runtime" "NSInvocation介绍" "NSHipster Swizzling" "Objective C Method相关方法分析" "Type Encodings" 推荐阅读 "高效编写代码 消息转发" 。 在这里,我只针对一个经常出现的Cra 阅读全文
posted @ 2016-12-27 22:32 lvable 阅读 (105) 评论 (0) 编辑
摘要:单一职责原则(SRP Single Responsibility Principle) 定义: 不能存在多于一个导致功能变更的原因。 不遵守导致的问题: 指责扩散,指责扩散就是某种原因,职责A被分化为粒度更细的职责A1和职责A2。 平时开发中的代码策略: 1.对不同的功能严格遵守SRP,创建单一职责 阅读全文
posted @ 2016-12-21 17:30 lvable 阅读 (87) 评论 (0) 编辑
摘要:从App中跳转到手机设置中此App内的设置授权界面: 转自: "这里" 在iOS应用程序中打开设备设置界面及其中某指定的选项界面 [[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"] 阅读全文
posted @ 2016-08-14 17:35 lvable 阅读 (1706) 评论 (2) 编辑
摘要:  项目中使用Collection时,需要添加一些动画。   当 Collection 插入或移除 item 时,函数执行的顺序: 空数据插入Item   1.   2.   3.  &em 阅读全文
posted @ 2016-07-28 11:17 lvable 阅读 (225) 评论 (0) 编辑
摘要:Demo "下载地址" iPhone端系统Audio资源路径: 首先,通过 NSFileManager 获取资源路径下的所有路径(文件夹/文件) 接着遍历枚举,然后获取系统音频的SoundID: 通过使用 AudioServicesCreateSystemSoundID 方法: 获取SoundID后 阅读全文
posted @ 2016-06-16 14:39 lvable 阅读 (115) 评论 (0) 编辑
摘要:学习地址: "iOS音频播放三" 以下纯属个人笔记 Audio File Stream Services 解析采样率、码率、时长等信息,分离音频帧 —— 音频文件解析器 一、初始化AudioFileStream inClientData :上下文信息,生命周期长 inPropertyListener 阅读全文
posted @ 2016-06-01 23:02 lvable 阅读 (283) 评论 (0) 编辑
摘要:学习地址: "C语言中文网 实现迭代服务端和客户端" "GNU Closing a Socket" 前面介绍的程序,不管Service 端还是 Client端,都有一个问题,就是处理完一个 accept 请求立即退出,没有太大的实际意义。能不能像Web 服务器那样一直接收Client 端的请求呢?能 阅读全文
posted @ 2016-05-22 20:48 lvable 阅读 (121) 评论 (0) 编辑
摘要:博文一部分摘自: "Parse分析,以下简称博文1" (LeanCloud工程师针对Parse使用GCD的分析) 博文一部分摘自: "GCD入门,以下简称博文2" 建议先了解一下: "BSD基础知识" 在 中是这样描述Dispatch Source 简单来说 Dispatch Source 是用来监 阅读全文
posted @ 2016-05-09 16:03 lvable 阅读 (100) 评论 (0) 编辑
摘要:前言 将编程语言按照程序的应用分两种, "Complier Language" 和 "Interpreted Language" 。 Objective C和C++都是编译语言,编译语言在执行之前,必须通过编译器生成机器码,然后在CPU上直接执行,执行效率高。 Objective C采用Clang前 阅读全文
posted @ 2016-05-06 23:39 lvable 阅读 (45) 评论 (0) 编辑
摘要:"Initialization" 在这篇文章中博主开头说的这样情况非常常见并且一直困扰着我,因为像我这种靠纯代码写的人,不单单阅读代码,而且还要精简代码以至优雅,博主的思路恰恰帮助了我,所以我特地记录一下,并且日后来不断优化。 1.使用场景 例如一个自定义控件,它有很多属性,如果使用这个控件,就要对 阅读全文
posted @ 2016-05-06 16:03 lvable 阅读 (84) 评论 (0) 编辑
摘要:做了一个项目,项目中一个藏品详情界面针对不同用户,和用户所处于的状态的不同,展示的效果和操作的权限都会不同。想到了状态模式,从来没有用过,赶紧学一下然后用一用。期待兴奋 看了这么多的博客,终于找到一个可以分享的博客啦, "这里" 1.事必有因 我有一个视图层,在这个视图层上展示的效果和操作行为是一个 阅读全文
posted @ 2016-04-19 15:53 lvable 阅读 (119) 评论 (0) 编辑
摘要:适配器模式: 1.出现场景 TableViewCell视图层 输出 无论NSData怎么变化,数据都可以显示在视图层中。 2.组成结构 输入 【适配器】 输出 (数据层) 【适配器】 (视图层) 1.类适配器:为了适配输入专门初始化一个类来适配 2.对象适配器:只有一个类来处理输入 常见的输入和输出 阅读全文
posted @ 2016-04-18 21:59 lvable 阅读 (87) 评论 (0) 编辑
摘要:疑问来自: "这里" 1.事出有因 其中博主说道的情况我其实也经历过,当时还在找到一个模式可以改变这样的情况。直到有一天看到这个博客,今天晚上有时间来规整一下博主的思路和写了一个测试代码。 这是我目前的App结构中VIewController的抽象类: 目前对我来说存在(博主说了三个问题,2.上手接 阅读全文
posted @ 2016-04-17 21:40 lvable 阅读 (104) 评论 (0) 编辑
摘要:"取经地址" 1.使用关联 关联是指把两个对象相互关联起来,使得其中的一个对象作为另一个对象的一部分。 使用关联,是基于关键字的,因此,我们可以为任意对象增加任意多的关联,但是关键字是唯一的。关联可以保证 在`关联对象`的整个生命周期都是可用的。 1.1 创建关联、获取被关联的关联对象、断开关联 使 阅读全文
posted @ 2016-04-16 20:41 lvable 阅读 (128) 评论 (0) 编辑