自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

evo

自强不息,厚德载物 ii Making others better! Making life better ^_^

原创 【Android】Android Dalvik&JVM

文章目录1、JVM1)特点2)字节码3)Java代码运行流程4)类加载器分类5)类加载器特点6)类加载步骤7)运行时数据区8)执行引擎9)GC原理10)引用类型11)JVM结构2、Dalvik3、ART 1、JVM JVM,Java虚拟机,是Java运行时环境JRE的核心组成部分,这也是Java跨...

2019-05-08 18:41:45 530 1

原创 【Android】Android Input

文章目录1、简介2、input命令3、hardware相关的java代码4、jni5、service相关的java代码6、libinputservice7、libandroid8、libinput9、InputFlinger10、evdev11、te 1、简介 本文简要介绍Android Inpu...

2019-05-08 18:34:28 371 0

原创 【Android】Android 线程&进程模型

文章目录1、Java线程1)线程与进程2)并发与并行3)线程同步4)线程状态5)Thread2、runOnUiThread3、AsyncTask4、Handler5、进程6、Binder 1、Java线程 在介绍Android的线程、进程模型之前,首先看一下Java线程相关的内容。 1)线程与进程...

2019-05-07 20:07:52 115 0

原创 【Android】Android JNI

文章目录1、简介1)java调用native接口2)native调用java接口2、jni.h1)基本类型2)C++中的非基本类型3)C中的非基本类型4)变量field与函数method5)函数签名6)引用类型7)一个很重要的函数结构8)两个很重要的数据类型:JNIEnv和JavaVM,C和C++...

2019-05-06 18:45:53 311 0

原创 【Android】图文解密Android AIDL

文章目录1、简介2、用法1)创建.aidl文件。2)实现接口3)公开接口4)实现客户端5)支持自定义类型6)服务端通知客户端3、aidl自动生成的java代码4、aidl流程 1、简介 AIDL是一种接口描述语言,用于进程间通信,有如下几个特点。 1)AIDL用于多个客户端跨进程访问服务端,且服务...

2019-04-26 19:25:33 119 0

原创 【Android】图文解密Android WallpaperManagerService

文章目录1、简介2、壁纸相关类3、壁纸相关文件4、默认壁纸5、壁纸设置6、动态壁纸7、壁纸设置流程 1、简介 WallpaperManagerService,下面简称WPMS,是Android中与壁纸相关的一个服务,下图是WPMS的启动流程。 1)WPMS在SystemServer中启动,属于O...

2019-04-24 20:08:29 741 0

原创 【Android】图文解密Android Font

文章目录1、TextView1.1 Font Family1.2 Text Style1.3 Typeface1.4属性解析过程1.5 Typeface1.6 Font Matrix1.7 style&theme2、Font配置3、Font加载 1、TextView 在介绍Androi...

2019-04-17 19:48:19 757 0

原创 【Java】Java数据结构图

2019-03-21 21:28:16 224 0

原创 【Android】图文解密Android Resource&Asset

【Android】图文解密Android Resource&Asset

2019-02-21 18:42:24 347 0

原创 【Android】图文解密Android OverlayManagerService

【Android】图文解密Android OverlayManagerService

2019-02-18 20:00:40 1303 0

原创 【Android】图文解密Android PackageManagerService

【Android】图文解密Android PackageManagerService

2019-02-15 17:32:17 247 0

原创 【Android】图文解密Android InputManagerService

【Android】图文解密Android InputManagerService

2019-02-12 17:48:25 261 0

原创 【Android】图文解密Android ActivityManagerService

【Android】图文解密Android WindowManagerService

2019-02-03 12:00:55 99 0

原创 【Android】图文解密Android WindowManagerService

图文解密Android WindowManagerService

2019-02-01 13:12:10 721 0

原创 【Android】图文解密Android View

TODO

2019-01-23 10:00:26 242 0

原创 【Android】Android java动态库、静态库的编译与使用

在Android的makefile编译系统中,编译结果是多种多样的,这个可以从build/make/core/config.mk中看出,部分代码如下所示: BUILD_HOST_STATIC_LIBRARY:= $(BUILD_SYSTEM)/host_static_library.mk BU...

2018-11-30 19:27:43 1702 0

原创 【Android】玩转命令行工具-dumpsys

dumpsys是Android设备中的一个命令行工具,用来打印一些系统服务的信息,如input、ram、battery、network等。dumpsys默认会打印所有系统服务的信息,数据很多,所以一般要通过参数指定需要的信息。 dumpsys的语法格式如下: adb shell dumpsys [...

2018-11-29 18:50:30 215 0

原创 【Android】玩转命令行工具-aapt2

aapt2即Android Asset Packaging Tool,是Android中的资源打包工具,另外还有个废弃的aapt。aapt2是Android API 26.0.2才出现的,在Android SDK中的位置为android_sdk/build-tools/version/aapt2。...

2018-11-29 16:15:33 1687 0

原创 【Android】玩转命令行工具-apkanalyzer

apkanalyzer,从名字就可以看出这是一个分析apk的工具,最简单的使用方法是在AndroidStudio中点击Build,然后选择Analyze APK...,本文介绍如何在命令行使用apkanalyzer。 apkanalyzer在Android SDK中,位置为android_sdk...

2018-11-28 21:30:46 854 0

原创 【Android】Android开机流程-从init到home

【Android】开机流程-从init到home1 概览2 流程1.1 init1.1.1 简介1.1.2 两个阶段1.1.3 init.rc功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右S...

2018-11-27 15:14:51 575 0

原创 【Java】Java性能及垃圾回收

【以下内容出自《Java编程思想》一书】 1、性能 Java语言特别强调准确性,但可靠的行为要以性能作为代价。这一特点反映在自动收集垃圾、严格的运行期检查、完整的字节码检查以及保守的运行期同步等等方面。对于一个解释型的虚拟机来说,由于目前有大量平台可供选择,所以进一步阻碍了性能...

2018-08-27 13:45:05 125 0

转载 【Java】Java编程规范

以下内容摘录自Java编程思想一书。 类名首字母应该大写,字段、方法以及对象(句柄)的首字母应该小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsFieldOrMethodName 若在定义中出现了...

2018-08-26 17:05:45 777 1

转载 【Java】C++和Java的差异

注: 以下内容摘录自Java编程思想一书 1. 编程思想 1. 编程思想

2018-08-26 14:30:08 224 0

原创 【Android】图文解密Android SystemServer启动流程

1.SystemServer SystemServer是Android中一个很重要的系统服务,是连接Native与Java的桥梁,由Zygote进程fock而出。 SystemServer在启动过程中,启动了一些Service,这些Service根据时序及重要性分为Bootstrap、C...

2018-07-05 21:33:02 349 0

原创 【SDC】揭开无人驾驶的神秘面纱

(纯文字版) 1、自动驾驶定义 自动驾驶,可以理解为在驾驶过程中司机与车的职责担当分配,从零自动化的全人工操作,到完全自动化的无人驾驶,美国国家公路交通安全管理局将自动驾驶分为5个等级,从Level0到Level4,内容如下。 Level0:无自动化。没有任何自动驾驶功能,完全由司机负责...

2018-04-21 01:25:03 550 0

原创 【LeetCode】3 无重复字符的最长子串

3 无重复字符的最长子串 题目描述—— 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例—— 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。 给定 &...

2018-04-13 13:57:18 3866 0

原创 【LeetCode】2 两数相加

2 两数相加 题目描述—— 给定两个非空链表来代表两个非负整数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例—— 输入:(2 -> 4 -> 3) + ...

2018-04-12 21:15:14 512 0

原创 【LeetCode】1 两数之和

1 两数之和 题目描述—— 给定一个整数数列,找出其中和为特定值的那两个数。 你可以假设每个输入都只会有一种答案,同样的元素不能被重用。 示例—— 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = ...

2018-04-12 19:10:14 253 0

翻译 【Python】numpy快速入门

1、基本概念 numpy的主要内容是齐次多维数组,是一张表,元素类型相同,通常是数字,索引为一个正整数构成的元组。在numpy中,数组的维叫做axes,axes的个数叫做rank。例如,[1,2,1]是3D空间中的一个坐标点,作为数组,它是一维的,有一个axes,rank的值为1,axes的长度...

2018-03-31 10:26:50 875 0

原创 【Kernel】内存管理

1、概述内存管理是内核最复杂同时也最重要的一部分,具体包括内存中的物理内存页的管理,分配大块内存的伙伴系统,分配较小块内存的slab、slub和slob分配器,分配非连续内存块的vmalloc机制,以及进程的地址空间。 内核一般将处理器的虚拟地址空间分为用户空间和内核空间,在两个用户进程之间切换...

2018-02-23 09:22:44 390 0

原创 【C++】C++11知识点串讲

1、long long类型C++11引入了long long类型,标准规定long long类型的长度至少是long类型的长度,即64bits,同其它类型一样,标准规定了各类型的最小长度,而编译器允许使用超过最小长度的限制。2、初始化列表int a = 0; int a(0); int a = {...

2017-12-30 15:51:18 1061 0

原创 【OpenGL ES】同步对象和栅栏

OpenGL ES 3.0为客户-服务器模型,客户即应用程序,发送命令,服务器即OpenGL ES实现,处理命令,因为针对的是手持和嵌入平台,所以客户和服务器通常在同一个设备上。在客户-服务器模型中,一个常见的问题是,客户如何发送命令,每次发送一个命令还是缓存后批量发送,服务器如何处理命令,同步等...

2017-12-21 17:05:25 2383 0

原创 【OpenGL ES】帧缓冲区对象FBO

1、FBO使用OpenGL ES,一般要通过EGL来配置本地窗口系统,关于EGL的介绍可参照“【OpenGL ES】EGL简介”http://blog.csdn.net/ieearth/article/details/71180457。默认情况下,OpenGL ES使用窗口系统提供的帧缓冲区作为绘...

2017-12-21 15:41:12 1839 0

原创 【OpenGL ES】片段操作

在OpenGL ES 3.0的可编程管线中,片段操作在片断着色器之后,下一步是帧缓冲区。片段着色器执行之后,片断着色器的输出是片段的颜色和深度值,片段在前往帧缓冲区途中经历的测试和操作包括裁剪区域测试、模板缓冲区测试、深度缓冲区测试、混合、抖动,下面逐个介绍。1、缓冲区缓冲区包括颜色缓冲区、深度缓...

2017-12-20 16:26:31 708 0

原创 【OpenGL ES】片段着色器

1、管线片段着色器在OpenGL ES 3.0的可编程管线的位置如下图所示。 2、输入输出片段着色器为片段操作提供了通用功能的可编程方法,输入和输出如下图所示。 输入或者可变值,in,是顶点着色器生成的插值数据,顶点着色器输出跨图元进行插值,并作为输入传递给片段着色器。 统一变量,unifo...

2017-12-19 21:12:42 1588 0

原创 【OpenGL ES】纹理

1、2D纹理2D纹理是OpenGL ES中最基本和最常用的纹理形式,它是一个图像数据的二维数组,纹理坐标(s, t)或(u, v)用作纹理图像中的索引,代表用于查找一个纹理贴图的规范化坐标。纹理图像的左下角由st坐标(0.0, 0.0)指定,右上角由坐标(1.0, 1.0)指定,在[0.0, 1....

2017-12-19 17:27:17 1403 0

原创 【CS】(奇妙的)虚拟存储器

虚拟存储器,Virtual Machine,简称VM,是对主存(DRAM)的一种抽象,是计算机系统中最重要的概念之一。计算机中有各种存储器,而VM的存在,就是为了帮助我们有效地管理这些存储器,减少错误,提供一种简单的数据交互方法。VM,将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保...

2017-12-18 13:01:31 608 0

原创 【C++】深入理解模板

1、简介模板是一种代码复用方式,其它的代码复用方式还包括继承和组合。当我们使用模板时,参数由编译器来替换,这非常像原来的宏方法,但却更清晰、更容易使用。在C++中,模板实现了参数化类型的概念,放在一对尖括号中,通过template这个关键字,告诉编译器随后的定义将操作一个或更多未指明的类型,当由这...

2017-12-12 12:25:58 727 0

原创 【C++】 运算符重载

1、一元运算符运算符重载是C++的一大特色,以函数重载的形式出现,函数名为关键字operator后跟着一个运算符,这些函数可以作为类的成员函数实现,也可以作为类的友元函数以全局函数的形式实现,而有的操作符只能以其中一种方式实现,因为全局函数没有this指针,所以在参数列表中比成员函数多一个参数。可...

2017-12-08 13:33:15 351 0

原创 【C++】C++中的C

C++兼容C,但同样的东西,在C++和C中的表现可能不同,下面总结了一些。1、函数空参int f();函数空参时,C表示任意参数,C++表示没有参数。int f(void);C表示没有参数时使用void。2、函数参数标识符int f(int a); int f(int);声明函数时,C和C++都可...

2017-12-07 17:49:36 3010 0

提示
确定要删除当前文章?
取消 删除