移动开发

iOS WKWebView同步设置Cookie的踩坑

一、存储Cookie 1. 登录成功后,存储Cookie到本地。因为下次重启APP,不再走登录接口的话,Cookie会丢失,所以需要先存本地。 存储时注意,要判断是当前登录系统对应的域名或IP。因为我遇到,登录接口成功后,还出现了友盟的Cookie的,防止被其他域名或IP的Cookie给覆盖。 1.存储Cookie // 存储Cookie        NSArray *cookie

Android productFlavors 实现多项目打包

最近接到产品一个需求,需要将现有工程打一个新的apk出来,要给到新客户使用,需要替换appIcon, appName, appId以及切换新的api接口需要切换新的地址。 场景大概如下图: 使用场景 二话不说,直接上代码 第一步:添加productFlavors配置 打开项目app工程的build.gradle文件,在android {}标签里面添加下面代码 productFlavo

AutoLayout 和 AutoresizingMask的使用

Swift 中 AutoLayout 和 AutoresizingMask 用于自动调整视图的布局,以适应不同大小的设备和屏幕方向。两种方法都可以用来处理视图的自动适应问题,但是它们的实现有所不同。 AutoLayout AutoLayout是一个基于约束的视图布局系统,它可以使视图根据约束条件自动适应不同的设备尺寸和方向。通过添加约束条件,AutoLayout会计算出每个视图的正确位置和大小,

【Android 架构之 MVI 雏形】响应式编程 + 单向数据流 + 唯一可信数据源

这是 MVI 架构的第一篇,系列文章目录如下: 【Android 架构之 MVI 雏形】响应式编程 + 单向数据流 + 唯一可信数据源 关于Android 架构 的MVI 初级体 【Android 架构之 MVI 完全体】 就MVVM 来说关于PartialChange & Reducer [Android 架构之 MVI究极体]数据区分状态和事件,解决粘性数据 引子 MVI 是Mod

package.json 和 package-lock.json

1. 前言 应该很多人 搞不清楚, 我们天天见天天用的 这个 package.json 和package-lock.json到底有啥关系 那今天就来捋一下 2. package.json 首先在说下这个 我们自以为觉得熟的不能在熟的package.json package.json是帮我们管理项目中的依赖包的,让我们远离了依赖地狱。 遵循commonJS规范 ,通过 npm管理,

Promise 对象

Promise 对象是一种连接生产者与消费者的特殊 JS 对象, 类似"订阅列表". let promise = new Promise( // 参数是执行器 executor function(resolve, reject) { // 扮演生产者的角色 通常是异步执行某些操作 // 生产者必须调用 resolve 或者 reject }); // promi

Class 类

ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板,通过关键字class,可以定义类,基本上,ES6的class可以看成只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰, 更像买你想对象编程的语法而已 知识点: (1)class声明类 (2)constructor定义构造函数初始化 (3)extends继承父类 (4)

13.优化 - 线程监控(matrix)

  本文来分析下matrix对于线程的监控,matrix对于线程的监控主要 hook pthread 的pthread_create pthread_detach pthread_join pthread_setname_np 几个方法。 原理   先来看下为什么 hook pthread 的几个方法就可以监控到线程。 一般的 java 线程写法 new Thread(new Runable{

子线程发出的通知,主线程如何接收处理

1.关键点是在主线程的runloop中加入一个machport2.在子线程中,1)将要发出的通知加入一个数组中,然后通过主线程中的machport发出消息2)在主线程中接收port来的消息,但其内部其实是访问主线程生成的数组(该数组在子线程中也能进行操作,怪不得要加锁)即可。3.注意在主线程中处理通知的要区分出来当前线程(通知的监听者还能处理不同线程的)4.NSMachPort是线程间通信的一种方