你行,你真的可以上。 罗列的知识不一定正确,想深入了解,还要看原版书籍。

Android多渠道打包方案

Android多渠道打包方案对比 1 packer-ng-plugin 打包原理:因为APK文件也是一个带签名信息的ZIP文件,根据 ZIP文件格式规范,每个ZIP文件的最后都必须有一个叫 Central Directory Record 的部分,这一部分包含一些元数据,它的末尾是ZIP文件的注释。注释包含Comment Length和File Comment两个字段,前者表示注释内容的...

JsBridge分析

JsBridge分析 核心是自定义url协议,通过不同的交互流程自定义不同的Schema。 一、核心类 BridgeWebViewClient:存放Java注册的messageHandler,发送Java消息,刷新处理消息。 BridgeWebView:重写shouldOverrideUrlLoading,拦截url。 WebViewJavascriptBridge:存放js注册mes...

Android适配

一 屏幕适配 1 单位 1)、px:屏幕上绝对像素 2)、dpi(像素密度): 屏幕上单位面积内的像素数点,就是每英寸多少点。 3)、屏幕物理尺寸: 屏幕对角线的尺寸。单位是英寸。 4)、ppi:PPI就是计算机屏幕上每英寸可以显示的像素点的数量。因此,在电子屏幕显示中提到的ppi和dpi是一样的,可认为dpi=ppi。 不同手机屏幕大小对应的屏幕像素密度关系表: 5)、密...

计算机图形学概论

一、计算机图形学 计算机图形学就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。计算机计算机上生成一幅表示物体的图形,有三个步骤: 1)造型技术:生成图像的物体的模型。 2)光照模型:用简单数学模型来近似、代替物理学的模型,为模拟物体表面的光照物理现象。 3)绘制(渲染)技术:计算机屏幕是由像素构成的,像素作为构成图形的基本单位。为了在屏幕上显...

光栅图形学算法

光栅图形学算法 光栅图形算法多数属于计算机图形的底层算法。 光栅图形学算法的研究内容: 1 2 3 4 5 1) 直线段的扫描转换算法 2) 多边形的扫描转换与区域填充算法 3) 裁剪算法 4) 反走样算法 5) 消隐算法 一、直线段的扫描算法 1.1 直线段的扫描转换算法 直线绘制的三个常用算法: 1 2 3 1) 数值微分法(DDA) 2) 中点画线法 3) Bresen...

二维图形变换

一、向量基础知识 向量是具有长度和方向的实体。 1.1 向量的表示 从P点到Q点的位移用向量v = (3,-2)表示,v是从点P到点Q的向量。两个点的差是一个向量:v = Q - P 把向量表示成它所有分量的列表,一个n维向量就是一个n元组: 1.2 向量基本运算 向量允许两个基本操作:向量相加 、标量(实数)的数乘 如果 a 和 b 是两个向量,s是一个标量,a+b 和...

OpenGL环境搭建

OpenGL环境 OpenGL环境搭建是基于Mac系统。 1 工具下载 下载安装GUI版的 CMake。 2 GLFW编译安装 GLFW:是一个专门针对 OpenGL 的 C 语言库,提供了渲染物体所需的最低限度的接口。其允许用户创建 OpenGL 上下文,定义窗口参数以及处理用户输入,把物体渲染到屏幕所需的必要功能。 2.1 下载 GLFW源码并解压 2.2 CMak...

JNI设计机制

一、设计机制 1.1 JNI接口函数和指针 本地代码通过调用JNI函数来访问Java 虚拟机的特性。JNI函数可通过接口指针获得。接口指针是指向指针的指针。该指针指向一个指针数组,每个指针指向一个接口函数。 JNI接口的组织方式类似于C ++虚函数表或COM接口。使用接口表而不是硬连接函数条目的优点是JNI名称空间与本机代码分离。 JNI接口指针仅在当前线程中有效。因此,本地方法...

JNI类型和数据结构

一、JNI类型和数据结构 1.1 基本类型 Java 类型 Native Type 描述 boolean jboolean unsigned 8 bits byte jbyte signed 8 bits ...

JNI开发入门

一、NDK配置(Mac) 1.1 下载 在Android studio中,选择Sdk Manager → android sdk → sdk tools → 选择NDK → 确定下载。 ndk 路径可直接在 File — Project structure 中选择SDK location,复制 ndk 安装路径,如图: 1.2 添加路径配置 在终端输入修改.bash_pro...