移动开发

浅谈PAG与Lottie对比

1、工作过程 Lottie: 设计师使用 AE 设计好动画, 通过 bodymovin 插件将 AE 工程文件导出为 json 文件,在客户端(使用 Lottie SDK)解析,最后通过各平台原生渲染方案进行渲染,其中在 Android 平台上通过 Canvas 进行绘制,在 iOS 上通过 CALayer 进行绘制,在 web 端支持 SVG、Canvas 和 HTML 绘制。 PAG: 设计师

Swift 5.7 新特性

Swift 5.7 内置于 Xcode 14,重点增加了如下几个与实际开发相关的新特性。 简化的if let/guard let语法 let name: String? = "zhangsan" print(name) // Optional("zhangsan") // Swift5.7之前 // if let if let name = name { print(name) // z

安卓端PCAPdroid抓包指南: 无需Root或代理即可转储PCAP格式

一、前言安卓客户端,时常遇到需抓包定位的问题,而想要在系统内抓包,目前已知比较流行的,无非以下几种情形: 手机root后,安装某些抓包软件; 市面上已知的代理软件,比如burpsuite、wireshark、Charles,需电脑开放端口代理给手机访问,并且b

Android10.0 SystemUI—keyguard锁屏加载分析

学习笔记:参考资源 一、流程概述 1、SystemUI启动完成后,进入的第一个界面为锁屏界面。 2、锁屏keyguard属于SystemUI。 3、锁屏开机大致分为两部分,第一部分是从WindowManagerService开始,处理锁屏显示等流程。第二部分是KeyguardVi

iOS开发集成framework、Bundle文件获取

一、前言         有些时候,我们开发的SDK并不需要对外隐藏,那么就可以将源码都打包给对方,也可以集成cocopods仓库,供外部使用。但有些时候,出于版权等原因,我们提供的代码只希望对方能够正常使用,却不希望对方看到内部的实现细节,就像苹果官方一样,给我们开发者提供的API只能看到.h文件以及相关的文档,这就是我们今天要实现的,也是苹果官方提供给我们的.framework。如果对SDK开

Flutter for OpenHarmony:Flutter 三方库 jnigen — 自动化打通 Flutter 与原生代码的通信壁垒(适配鸿蒙 HarmonyOS Next ohos)

欢迎加入开源鸿蒙跨平台社区:#。 Flutter for OpenHarmony:Flutter 三方库 jnigen — 自动化打通 Flutter 与原生代码的通信壁垒(适配鸿蒙 HarmonyOS Next ohos) 前言在进行 Flutter for OpenHarmony 开发时,我们经常会面临这样的尴尬境地&#xf

Android Studio 插件化调试

插件调试方式 日常开发插件过程中不可避免需要进行断点调试。方法如下 1.选择Edit Configuration image.png 2.打开配置中心,选择+号。添加Remote JVM Debug image.png 3.在Remote中设置参数, Name:插件调试名称。随便输入 VM options:记得拷贝这一行。一定要拷贝!!! 点击OK。返回 imag

runtime & 消息发送流程(重磅)

runtime & 消息发送流程 (重磅) 本文主要关于imp的查找流程,在这之前先走个铺垫 类的走位链 对象 的 isa 指向 类(也可称为类对象) 类 的 isa 指向 元类 元类 的 isa 指向 根元类,即NSObject 根元类 的 isa 指向 它自己 首先拓展一下类的结构 objc_class、objc_object、isa、object、NSObject

iOS线上崩溃追踪

极地冰原(加载图).jpg 目录 一、崩溃收集介绍 二、第三方库收集崩溃信息 三、原生收集崩溃信息 四、崩溃信息符号化 五、崩溃中断拦截 一、崩溃收集介绍   App线上崩溃一直都是比较棘手的问题,尽管我们努力在开发与测试过程中检测与避免崩溃代码,但依然会在不同系统,不同网络环境与不同的使用方式中出现特殊情况。   面对崩溃情况的最好解决方式就是对崩溃的程序进行现场调试,显然这很难

配置MySQL环境变量

一、打开高级系统设置   在 Windows 设置中,搜索“高级系统设置”,点击进入。这一步是进入系统属性设置的入口,后续很多系统相关的高级配置都可以在这里进行。   打开高级系统设置   二、进入环境变量设置界面   在“系统属性”窗口中,切换到“高级”选项卡,点击“环境变量(N)...”按钮。这里可以对用户变量和系统变量进行