移动开发

iOS中WebSocket的使用

简介 HTTP协议是无状态的协议,采用的是请求/应答的模式,所以只能是客户端发送请求,服务器响应请求,服务器是无法给客户端主动推送消息的,而有时候客户端需要在服务器数据更新的时候及时的进行更新界面或者其他的逻辑处理,以前的方案是客户端通过轮询不断的发送HTTP请求到服务器来拿到服务器最新的数据,非常的麻烦。 WebSocket 连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的

cocoapods-xlbuild二进制编译插件,提高打包编译速度

cocoapods-xlbuild 利用cocoapods,生成预编译静态库,提高编译速度的插件。支持编译使用静态库提高速度,调试直接使用源码,方便调试,同时支持设置Frameworks缓存,为打包机上的不同项目首次install提速! 背景 随着项目的不断迭代,项目代码及依赖三方库和内部库越来越多,导致项目编译时间越来越长,浪费大量开发时间。 cocoapods-xlbuild插件将三方库打包为

动画(AnimationClip)压缩

FileSize FileInfo.Length取得的文件大小 可以在操作系统的文件系统中看到 MemorySize Profiler.GetRuntimeMemorySize取得的内存大小 可以在Profiler中通过采样看到 分别在真机和Editor下进行了采样 BlobSize 反射取得的AnimationClipStats.size二进制大小 显示在AnimationClip的I

Android USAP 进程启动流程

从Android Q(10)开始,Google引入了一种新的机制,加快了app的启动时间,具体请看Android Framework | 一种新型的应用启动机制:USAP,本篇将会详细介绍USAP 进程启动的流程。 从Activity启动流程 上篇(Android 10),我们得知在Activity启动过程中,我们会调用到\frameworks\base\core\java\android\os\

14. 类的关系——抽象

1、 Java抽象类 在继承中,抽象是一个非常重要的概念。 类可以是抽象的,方法也可以是抽象的。 如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 如形状类是抽象的类,圆、三角形等是具体类。 用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。但是抽象类中不一定有抽象方法。 在面向对象的概念中,知道所有的对象都是

flutter面试题

一、flutter与原生通信,三种通道的区别 1.1 MethodChannel Flutter与Native端相互调用,调用后返回结果 可以Native端主动调用,也可以Flutter主动调用,属于双向通信 此种方式最为常见,Native端调用需要在主线程中执行 1.2 BasicMessageChannel 用于使用指定的编解码器对消息进行编码和解码 属于双向通信,可以以Native端主动调用

set/map(ES6)

set与map理解 ES6中新增,set集合和map集合就是一种数据的存储结构(在ES6之前数据存储结构只有array,object),不同的场景使用不同的集合去存储数据 set集合 Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。 语法: //创建一个set集合,传参为一个可迭代的对象 const s1 = new Set(iterable); API 名

2022苹果开发者账号续费流程

---------开头一个官方文档,大家走夜路更迷茫-------- 总结一下苹果开发者账号续费有两种方式:一种是直接在网页上续费,另一种是在手机上续费。 方法1:在苹果开发者中心 

ActivityThread 中一些常用的知识点记录

ActivityThread: 它管理 应用程序进程 中主线程的执行,调度和执行Activity,广播, 以及ActivityManager 请求的其他操作。 简单的说,可以通过这个类,获取到当前应用的一些信息 TIPS: (1).可以使用以下的开源代码网站查看源码