当我部署hexo在github上的时候去看了一下ssh key,发现github上早就有ssh key了,但是我从来没有手动去生成过,并且这个key的名字与手动生成的不一样,文件名是这样github_rsa,当然还有另外一个pub格式的,而如果我们手动生成的话,必然是id_rsa,除非我们自己改名。这个key应该是我安装github客户端的时候生成的,不过我可以在github提交代码,hexo也部署成功了,这些东西也从来没去了解过,然后这次出问题了,折腾了很久。
iOS视频边下边播--缓存视频数据流
google搜索“iOS视频变下边播”,有好几篇博客写到了实现方法,其实只有一篇,其他都是copy的,不过他们都是使用的本地代理服务器的方式,原理很简单,但是缺点也很明显,需要自己写一个本地代理服务器或者使用第三方库httpSever。如果使用httpSever作为本地代理服务器,如果只缓存一个视频是没有问题的,如果缓存多个视频互相切换,本地代理服务器提供的数据很不稳定,crash概率非常大。
这里我采用ios7以后系统自带的方法实现视频边下边播,这里的边下边播不是单独开一个子线程去下载,而是把视频播放的数据给保存到本地。简而言之,就是使用一遍的流量,既播放了视频,也保存了视频。
1 | 用到的框架:<AVFoundation/AVFoundation.h> |
先说一下avplayer自身的播放原理,当我们给播放器设置好url等一些参数后,播放器就会向url所在的服务器发送请求(请求参数有两个值,一个是offset偏移量,另一个是length长度,其实就相当于NSRange一样),服务器就根据range参数给播放器返回数据。这就是大致的原理,当然实际的过程还是略微比较复杂。
一:下面进入主题
产品需求:
- 1.支持正常播放器的一切功能,包括暂停、播放和拖拽
- 2.如果视频加载完成且完整,将视频文件保存到本地cache,下一次播放本地cache中的视频,不再请求网络数据
- 3.如果视频没有加载完(半路关闭或者拖拽)就不用保存到本地cache
iOS性能监测
iOS开发中,如果是由于占用内存或者cpu过高导致性能下降,使用Instruments比较容易那些造成性能低下的”罪魁祸首”,在开发测试阶段它可以帮助我们分析软件运行的性能消耗,但是这可定是远远不够的,我们需要一个工具,可以在正式环境中由大量用户在使用过程中监控、分析到的数据更能解决一些隐藏的问题.
Time Profiler
可以查看多个线程中每个方法的耗时。
对Xcode进行设置
1. 不设置该选项,只能看到一堆栈
如果想要在TimeProfile中直观的查看方法耗时,需要对Xcode进行设置
在Xcode->Build Setting->Debug Information Format中设置选项为:DWARF with DSYM File
使用GitHub搭建Hexo博客
来到GitHub这么长时间,才开始真真的了解GitHub,这个国外的代码托管平台,充满着大牛的身影。