计算机
文章平均质量分 50
WQ_631288233
这个作者很懒,什么都没留下…
展开
-
一. APP连续闪退修复方案初版
连续闪退设计方案一、概要1.背景用户在使用APP时,在启动阶段crash,将根本无法使用。重启的条件下也无法正常使用的情况,也就称为连续闪退。在这种情况下就需要一种机制去保护并修复它,确保APP可以正常使用。2.发生条件连续闪退的发生原因可能有如下:数据库损坏:在日常使用如异常退出、断电,或者错误的操作。文件损坏:处理文件时如果没有@try…catch,损坏文件会抛出NSException导致 crash。网络返回数据处理异常:比如预期返回数组,但实际返回了字典或返回破损的 Tar 包,在原创 2021-10-19 14:05:37 · 1045 阅读 · 0 评论 -
IOS 在局域网下添加云硬件设备方案
一.前景在云硬件设备与手机接入了局域网的情况下,需要将硬件设备扫描展示出,并可选择,与当前手机设备账号进行关联。二.实现方案流程图如下图所示三.方案的代码实现本次采用 Swift 语言,基于 CocoaAsyncSocket 中的UDPSocket手机端代码如下:/// socket实例var asycUdpSocket: GCDAsyncUdpSocket!func didload() { asycUdpSocket = GCDAsyncUdpSocket() asycUdpS原创 2021-07-02 16:26:47 · 295 阅读 · 0 评论 -
IOS 项目包瘦身(一)
项目瘦身一.日常的项目经过长时间的迭代,优化,重构之后,可能会积累一些用不到了的类,长久下去,会影响我们的包大小。主要删除项目中未使用的类。删除项目中未使用的资源文件压缩项目中大型资源文件二. 首先针对未使用的类使用脚本可以检测出项目中未使用的类。 (可评论咨询)a. 检测原理: 未使用的类 = 项目中所有的类 - 项目中被引用的类 - 实现load方法的类 - 实现load方法的分类 - 项目中使用字符串表示的类 - 子类被引用它的父类 - (只被当作属性没用被使用的类)。b.实现原创 2021-03-04 10:53:49 · 316 阅读 · 2 评论 -
数据结构 树的遍历算法(递归与非递归的实现)
采用Swift 5节点定义非递归的遍历原创 2020-08-24 17:59:46 · 504 阅读 · 0 评论 -
Apple Pay 接入
Apple pay 整体接入流程一 . 简介Apple Pay,是苹果公司在2014苹果秋季新品发布会上发布的一种基于NFC的手机支付功能,于2014年10月20日在美国正式上线。官网链接apple pay developer二. 整个流程中如下:客户端通过苹果API,在 APP 应用内展示 Apple Pay 支付控件。(注意: 和其他支付入口一样醒目)用户在 Apple Pay 的支付控件上进行生物验证(指纹或者人脸识别)或者手机密码验证。苹果在用户验证通过之后,会生成一个用户选中的银行卡原创 2020-06-28 17:01:35 · 1197 阅读 · 0 评论 -
音视频-MP3编码-Swift
一.配置swift5lame 下载地址,下载后编译出的lame库二.背景调用lame来做MP3Encoder,lame库是C++语言,在使用用lame库要学会swift 调用C++ 的方式,由于Swift 不能直接调用C++,我采用的方式是调用C,间接调用C++三.步骤创建项目,再添加C++文件会自动生成桥接文件,如下: 分别在.hpp 和 .cpp文件中编写声明和实现。...原创 2020-05-06 09:35:19 · 432 阅读 · 0 评论 -
移动网络慢
移动网络有如下几个不稳定特点(“高时延”、“易抖动”、“通道窄”)1)移动状态网络信号不稳定,高时延、易抖动丢包、通道狭窄;2)移动状态网络接入类型和接入点变化频繁;3)移动状态用户使用高频化、碎片化、非WIFI流量敏感;移动网络为什么慢?1.DNS解析,这个在有线互联网上司空见惯的服务,在移动互联网上变成了一种负担,一个往复最少1s,还别提遇到移动运营商DNS故障时的尴尬。2.链路建...原创 2020-04-27 15:25:04 · 663 阅读 · 0 评论 -
红黑树基础与代码 - 节点的删除(三)
1.节点的删除红黑树与二叉搜索树的删除节点过程一样,当删除节点存在两个子节点,会被转换为删除有一个子节点或不存在子节点的节点。对于有一个子节点的节点删除,比较简单,不需要平衡调整,只需要将其子节点改为黑色即可。2.删除规则对于删除的节点有两个不为空的叶子节点,这种情况最为复杂,需要平衡调整。删除节点平衡调整的情况有如下几种待删除节点的兄弟节点是红色待删除节点的兄弟节点是黑色,且兄弟...原创 2020-03-12 11:35:09 · 204 阅读 · 0 评论 -
红黑树基础与代码 - 节点的插入(二)
一. 节点的插入节点的插入会破坏红黑树结构,所以我们要做变色和旋转操作,节点的变色和旋转是为了修正被破坏的红黑树, 使其符合红黑树的规则,从新达到平衡状态。红黑树的节点插入与二叉查找树的插入的过程是一样的,只是最后多了一步平衡调整操作,插入到红色节点下时才需要调整,因为插入到红色节点下违反了两个红色节点不能相邻规则。二. 插入规则插入节点平衡调整的几种情况如下:情况一:新插入节点的父节...原创 2020-03-05 18:38:18 · 151 阅读 · 0 评论 -
红黑树基础与代码(一)
一. 定义和性质 红黑树是一种含有红黑结点并能自平衡的二叉查找树,红黑树并不是一个完美平衡二叉查找树,红黑树的左子树和右子树的黑结点的层数是相等的,也即任意一个结点到到每个叶子结点的路径都包含数量相同的黑结点。所以我们叫红黑树这种平衡为黑色完美平衡.它必须满足下面性质:性质1:每个节点要么是黑色,要么是红色性质2:根节点是黑色性质3:每个叶子节点(NIL)是黑色性质4:每个红色结...原创 2020-03-05 18:00:02 · 161 阅读 · 0 评论 -
八.汇编-转移指令的原理
可以修改IP,或者同时修改CS和IP的指令统称为转移指令。或者说转移指令就是可以控制CPU执行内存中某处代码的指令。8086CPU 转移行为可以有以下几类指修改IP,称段内转移,如 jmp ax同时修改CS 和IP ,称为段间转移,如。jmp 1000:0短转移的IP的修改范围 -128-127近转移IP的修改范围-32768-327678086CPU的转移指令分为无条件转移 ...原创 2019-11-26 15:29:39 · 178 阅读 · 0 评论 -
IOS-自动化打包-Jenkins集成
一.简介 自动化是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程。自动化技术广泛用于工业、农业、军事、科学研究、交通运输、商业、医疗、服务和家庭等方面。 把重复且无技术含量的事情交给机器去做,为了较少不必要的打包时间浪费,自动化打包技术就由此而生。 我的项目是基于Jenkins自动...原创 2019-10-28 14:40:59 · 218 阅读 · 1 评论 -
七.汇编-数据处理的两个基本问题
计算机是用来进行数据处理和运算的机器。处理数据在什么地方?处理数据有多长?1. 机器指令处理数据在什么地方a. 绝大多数的机器指令都是处理数据的指令。处理数据大致可分为读取,写入,运算。b. 指令在执行前,所要处理的数据可以在 3 个地方: CPU 内部,内存,端口。2.汇编语言中数据位置的表达a. 有三类:立即数(idata)寄存器段地址 和 偏移地址3. 寻址方...原创 2019-09-30 00:02:08 · 149 阅读 · 0 评论 -
六.汇编-更灵活的定位内存地址的方法
可以用[0],[bx]的方法访问内存的指令中,定位内存单元的地址。1.and 和 or 指令a. and 指令,按位进行与运算。b.or 指令,逻辑或指令,按位进行或运算。2. 关于ASCII码a.计算机中所有的信息都是二进制的,而人能理解的信息是已经具有约定意义的字符。编码存储信息,解码展示信息。b.目前计算机通常采用的编码方式 ASCII编码,也就是一套编码规则。比如 a 就是编码...原创 2019-09-29 00:03:39 · 149 阅读 · 0 评论 -
五.汇编-包含多个段的程序
将代码,数据,栈存放到不同的段中1. 在代码段中使用数据a. dw(define word) 定义字型数据。b. 通过“end 标号”来控制CPU从何处开始执行程序。c. 大体结构如下(代码框架)assume cs:code code segment 数据定义 start: 代码 code ends end start2. 在代码中使用栈a. 通过栈来处理数据。3...原创 2019-09-27 00:24:44 · 168 阅读 · 0 评论 -
四.汇编-第一个程序
之前都是在debug下执行一些指令。1.一个程序从写到执行的过程a.流程简单概括编写汇编源程序对源程序进行编译连接执行可执行文件中的程序b.可执行文件包括两部分,程序(由编译翻译过来的机器码)以及数据。第二部分相关的描述信息(如程序大小,占用内存容量等)c. 操作系统根据可执行文件的描述信息,将可执行文件中的数据和机器码载入到内存当中,并进行相关的初始化,然后由CPU执行程序。...原创 2019-09-25 20:55:40 · 179 阅读 · 0 评论 -
三.汇编-寄存器(内存访问)
1.内存中字的存储a.CPU 中用16位寄存器来存储一个字。高8位放在高位字节,低8位放在低位字节。2.DS和【adress】a.CPU 要读写一个内存单元的时候,必须先给出这个内存单元的地址,在8086PC中内存地址是由于CS和IP组成。8086CPU中有一个DS寄存器,通常用来存放要访问的数据的段地址。思考? 为什么8086CPU不支持直接向DS(段寄存器)中写入数据操作?(简单理解为...原创 2019-09-24 00:28:57 · 166 阅读 · 0 评论 -
二.汇编-寄存器
一个典型的CPU是由运算器,控制器,寄存器组成。这些器件靠内部总线相连,相对于CPU内部来说是外部总线。内部总线实现CPU内部各个器件的之间的联系,外部总线实现CPU和主板其他器件的联系。在CPU中运算器进行信息处理寄存器进行信息存储控制器控制各个器件间工作内部总线连接各个器件,在他们之间进行数据的传送1.通用寄存器a. 8086CPU所有寄存器都是16位的,可以存放两个字节。AX...原创 2019-09-19 23:53:43 · 222 阅读 · 0 评论 -
一.汇编基础
汇编语言是直接在硬件之上的编程,接下来我们先介绍相关的基础知识概念。1.机器语言a .机器语言是机器指令的集合。机器指令可以理解为一台机器可以正确执行的命令。 b.每一种微处理器,由于硬件设计和内部结构的不同,就需要不同的电平脉冲来控制,使它工作。所以每一种微处理器都有自己的机器指令集,也就是机器语言。2.汇编语言a.由于机器语言的带来的麻烦,由此汇编语言的产生。b.汇编语言的主体是...原创 2019-09-18 08:02:30 · 170 阅读 · 0 评论