移动开发

Android Studio 连接雷电模拟器教程

在Android应用开发过程中,使用模拟器进行测试是必不可少的。雷电模拟器(LDPlayer)是一款功能强大的安卓模拟器,兼容性好、运行流畅,适用于游戏和应用开发。本文将介绍如何在 Android Studio 中连接雷电模拟器进行调试。一、准备工作1. 下载并安装雷电模拟器 访问雷电模拟器官网下载最新版本的模拟器。 安装完成后

iOS知识复习笔记(16)---swift相关

一、函数的派发方式 swift函数的派发机制有三类:static直接派发(静态)派发、table函数派发,message消息派发。 直接派发也称为静态派发,指令集少,还会进行编译优化(函数内联) 2.函数派发是实现动态行为最常见的方式,通过函数表里面的数组来存储类声明的每个函数指针,称为vitual table, swift里叫witness table 3.消息派发其实就是oc那套消息发送了

浅谈PAG与Lottie对比

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

显示框架之SurfaceFlinger GPU合成

对于不支持device合成的layer,SurfaceFlinger会采用GPU来合成,然后与device合成的layer在hwc进行同步再送给屏幕。 在SurfaceFlinger启动的时候就已经搭建好了EGL环境,具体如下: 文件:frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp void SurfaceFlinger:

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

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

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

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

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

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

【MySQL】在CentOS7环境下----手把手教你安装MySQL详细教程(附带图例详解!!)

目录一、前言二、安装前的环境检查三、下载官方的 MySQL 安装包四、开始安装 MySQL 五、尝试初次启动 MySQL六、给MySQL 做一些简单的小配置七、共勉一、前言         本次专题将带大家进入一个新的专题 ---- MySQL。作为本次专题的第一篇博客,肯定是带大家一起在Linux环境下安装、配置和使用MySQL。整个过程肯定是手把手的带着大家一起完成&#xff

iOS开发 Info.plist 相关知识

在iOS开发中,Info.plist是用于存储应用程序相关信息的XML文件,其中包含许多属性来配置应用程序。以下是Info.plist中常用的属性以及它们的详细说明: Bundle identifier(Bundle标识符): 应用程序的唯一标识符,通常由两部分组成:“com.organization.appname”。 Bundle name(Bundle名称): 应用程序在设备中显示的名称。