移动开发

iOS底层原理笔记 - Runtime结构

Runtime结构 OC是一门动态性比较强的语言,跟C、C++语言有着很大不同 OC的动态性是由Runtime API来支撑的 Runtime API提供的接口基本都是C语言的,源码由C/C++/汇编语言编写 要想学习runtime,首先要了解它底层的一些常用数据结构,比如isa指针 在arm64之前,isa就是一个普通的指针,存储着Class、Meta-Class对象的内存地址 在arm64

Apple M2 macOS Flutter环境搭建记录

1.安装 Rosetta 2 环境 sudo softwareupdate --install-rosetta --agree-to-license 2.下载Flutter SDK flutter_macos_arm64_3.7.7-stable.zip 当然你也可以在这个文档中找到最新的安装包SDK,下载arm64版本即可。 当然,你也可以使用克隆的方式下载SDK。具体,根据个人喜好。 3.添

44 道 JS 难题,做对一半就是高手

1. parseInt 遇上 map ["1", "2", "3"].map(parseInt) // A. ["1", "2", "3"] // B. [1, 2, 3] // C. [0, 1, 2] // D. other 答案是D。实际上返回的结果是 [1, NaN, NaN] ,因为 parseInt 函数只需要两个参数 parseInt(value, radix) ,而 map 的

iOS使用Aspects做简单热修复原理

我们都知道苹果对 Hotfix 抓得比较严,强大好用的 JSPatch 也成为了过去式。但即使测试地再细致,也难保线上 App 不出问题,小问题还能忍忍,大问题就得重新走发布流程,然后等待审核通过,等待用户升级,周期长且麻烦。如果有一种方式相对比较安全,不需要 JSPatch 那么完善,但也足够应付一般场景,使用起来还比较轻量就好了,这也是本文要探讨的主题。 要达到这个目的,Native 层只要透

iOS 基于 PJSIP 开发 VOIP 应用 --- 编译集成 PJSIP

前言 Telegram 的研究先放一放,在 Telegram 源码中看到了 VOIP 相关功能,不禁想到自己上家公司的业务就是做 VOIP 通讯,趁着现在自己这段时间勤奋劲还没过,特地记录下。 PJSIP 是什么? PJSIP 是一个用 C 语言编写的开源嵌入式 SIP 协议库,实现了基于标准的协议(如SIP、SDP、RTP,STUN、TURN 和 ICE);把基于信令协议 SIP 的多媒体框架和

【Android】基于udp通信的智能家居移动应用开发

每文一诗  💪🏼        男儿不展风云志,空负天生八尺躯 ——《警世通言·卷四十》        译文:作为一个有学识有理想的男子,如果不施展自己的志向,成就一番事业,就枉费生为一个人。背景        本次移动应用的开发主要目的是为智能家居开发一个运行在手机的客户端,同时也

传对象参数(含有特殊字符)

1.传递参数为对象格式 若传递的参数为对象格式时,则先需要使用JSON.stringify()进行转换,接收后需要使用JSON.parse()转为对象使用。 注意:但是这样传参有一个问题,当对象数据长度过大时会报错,因此url传参时程序把过长的那段数据给截取掉了,导致数据转换回来时格式不对而报错。 2.传递参数中含有? = &等特殊字符 若传递参数中含有= ? &等特殊字符时,

Android Framework - 学习起步

前言 作为一名合格的 Android 开发,需要学习 Framework 知识,来解决 App 稳定性相关的问题 Framework 的源码学习一般由 init.rc 开始看起,因为它是一个 Android 系统启动必备的重要脚本,之后的几大系统进程都是由它启动的,比如 zygote,systemserver 等,这里主要记录一些基本概念,以及 Zygote 启动的源码分析 Binder 原理是相