移动开发
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。整个过程肯定是手把手的带着大家一起完成ÿ
iOS开发 Info.plist 相关知识
在iOS开发中,Info.plist是用于存储应用程序相关信息的XML文件,其中包含许多属性来配置应用程序。以下是Info.plist中常用的属性以及它们的详细说明:
Bundle identifier(Bundle标识符):
应用程序的唯一标识符,通常由两部分组成:“com.organization.appname”。
Bundle name(Bundle名称):
应用程序在设备中显示的名称。