- 博客(10)
- 资源 (52)
- 收藏
- 关注
原创 H264/H265码流的编码码率详解
1、什么是视频码率? 视频码率是视频数据(视频色彩量、亮度量、像素量)每秒输出的位数。一般用的单位是kbps。2、设置视频码率的必要性 在视频会议应用中,视频质量和网络带宽占用是矛盾的,通常情况下视频流占用的带宽越高则视频质量也越高;如要求高质量的视频效果,那么需要的网络带宽也越大;解决这一矛盾的钥匙当然是视频编解码技术。评判一种视频编解码技术的优劣,是比较在相同的带宽条件下,哪个视频质量更好;在相同的视频质量条件下,哪个占用的网络带宽更少。 是...
2020-12-31 21:37:12 13237
原创 iOS SceneDelegate使用总结
xcode11创建项目新增SceneDelegate文件,AppDelegate文件结构也发生变化,在AppDelegate.h文件中没有了window属性,而是在SceneDelegate.h中,可见AppDelegate不管理window而是交给SceneDelegate。由于这些是ios13新增,所以SceneDelegate在ios13以下的系统是不支持。所以xcode11创建的项目如要做一下处理: 如果App不需要支持多个scene,同时兼容ios13以下,可...
2020-12-31 21:33:46 2261 1
原创 iOS应用程序生命周期
1.应用程序生命周期(AppDelegate)(1.点击应用程序图标(2.程序入口:进入Main函数(3.通过UIApplicationMain函数(4.初始化UIApplication对象并且设置代理对象AppDelegate(5.程序完成加载:[AppDelegate application:didFinishLaunchingWithOptions:](6.创建Window窗口:UIWindow(7.程序被激活:[AppDelegate applicationDidBeco
2020-12-31 21:33:09 571
原创 iOS 深拷贝和浅拷贝
iOS 和C++一样,都有深拷贝和浅拷贝,其实本质上是一样的,浅拷贝是指地址的拷贝,而深拷贝是内容的拷贝。iOS中常见的深拷贝和浅拷贝如下图所示:
2020-12-31 21:32:39 214
转载 iOS 分类、扩展、代理、通知、KVC、KVO、属性关键字
一、分类(Category)1、分类的作用?声明私有方法,分解体积大的类文件2、分类的特点?可以为系统类添加分类。在运行时时期,将 Category 中的实例方法列表、协议列表、属性列表添加到主类中后(所有Category中的方法在方法列表中的位置是在主类的同名方法之前的),然后会递归调用所有类的 load 方法,这一切都是在main函数之前执行的。3、分类可以添加哪些内容?实例方法,类方法,属性(添加getter和setter方法,并没有实例变量,添加实例变量需要用关联对象)4
2020-12-31 21:32:06 277 1
原创 iOS数据的持久化
1.plist属性列表适用对象:仅仅是Foundation框架中自带的一些类,比如NSString、、NSArray、NSDictionary、NSSet、NSNumber、NSData调用对象的writeToFile...方法就可以写入文件调用对象的...WithContentsOfFile方法就可以从文件中读取对象内容2.偏好设置(NSUserDefault)本质还是plist属性列表的方式进行存储存取非常简单(不关心文件夹和文件名)缺点:只能存储到一个文件中(不能存放大批量数
2020-12-31 21:31:27 151 1
原创 iOS信号量详解
一、信号量的简单介绍:1.信号量:信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Release Semaphore VI分别放置在每个关键代码段的首末端。确认这些信号量
2020-12-31 21:31:02 5700 1
原创 C++使用lambda创建多线程
C++11 增加了线程以及线程相关的类, 而之前并没有对并发编程提供语言级别的支持,使用 std::thread 类来创建线程, 我们需要提供的只是线程函数, 或者线程对象, 同时提供必要的参数std::thread 表示单个执行的线程, 使用thread 类首先会构造一个线程对象, 然后开始执行线程函数#include <iostream>#include <thread> //需要包含的头using namespace std;void func(int a, d
2020-12-31 21:30:16 2346
原创 OC协议在解耦中的应用
OC协议,即观察者和控制器协议,是一种常用于软件设计中的模式,旨在实现对象之间的松耦合。在这种模式下,一个对象(观察者)订阅另一个对象(控制器)的状态变化,并在状态变化时获得通知。这种模式允许多个观察者独立地观察同一个控制器,而不需要控制器了解其观察者的具体信息,从而实现了解耦。OC协议通过引入观察者和控制器的概念,实现了软件组件之间的高度解耦,使得系统更加灵活、可维护。在面对频繁变化的需求和技术环境时,采用OC协议可以大大提高软件项目的适应性和长期可持续性。
2020-12-31 21:29:23 235 1
原创 iOS 5G网络判断
iOS中如何判断5G网络呢?Xcode12.1中CTRadioAccessTechnologyNRNSA和CTRadioAccessTechnologyNRNR是New Radio的缩写,新无线(5G)的意思,NRNSA表示5G NR的非独立网(NSA )模式:https://zh.wikipedia.org/wiki/5G%E6%96%B0%E6%97%A0%E7%BA%BF使用了Reachability进行网络判断:+ (NSString *)networkStatus{ Re
2020-12-31 21:28:47 2881
Navicat安装指导及安装资源
2024-03-23
vncserver和vncviewer
2017-06-01
大数据资料集锦
2016-03-30
Hadoop技术全套图书
2016-03-21
jQuery瀑布流经典布局源码
2016-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人