- 博客(17)
- 资源 (4)
- 收藏
- 关注
原创 Android系统启动总结
Android系统启动总结init进程android系统中用户空间第一个进程。当我们按下电源键,系统启动会加载引导程序,引导程序会把linux内核启动起来,linux内核加载完成后,第一件事就是要启动init进程。总结:init进程中主要做的几件事:创建和挂载启动所需的文件目录初始化和启动属性服务(windows平台上有一个注册表管理器,其内容采用键值对的形式记录用户、软件...
2019-12-01 22:23:26
139
转载 View的工作原理
前言在Android中View一直扮演着一个很重要的角色,它是我们开发中视觉的呈现,我平常也使用着Android提供的丰富且功能强大的控件,有时候遇到一个很炫酷的自定义View的开源库,我们也是拿来主义,时间长了你就会发现你只是一个只会使用控件和依赖被人开源库的程序员,这并不是一个开发者,所以我们并不能只满足于使用,我们要理解它背后的工作原理和流程,这样才能自己做出一个属于自己的控件,一直都说自...
2019-11-25 14:27:06
198
转载 Window, WindowManager和WindowManagerService之间的关系
前言上面3个名词在开发中经常听到,在Android开发中,Window是所有视图的载体,如Activity,Dialog和Toast的视图,我们想要对Window进行添加和删除就要通过WindowManager来操作,而WindowManager就是通过Binder与WindowManagerService进行跨进程通信,把具体的实现工作交给WindowManagerService(下面简称WM...
2019-11-25 14:24:08
505
转载 通过源码全面解剖Retrofit2的整体流程
目录前言一、Retrofit的简单使用二、Retrofit的相关类介绍1、Call2、CallAdapter3、Converter4、面向接口设计三、Retrofit的创建过程1、构造Builder2、配置Builder3、创建Retrofit实例4、小结四、创建Api接口实例小结五、调用Api接口实例的方法注释1、loadServiceMethod方法1、ServiceMethod的创建过程1....
2019-11-22 11:23:34
258
转载 还不懂Binder的原理?你损失了一张腾讯offer
前言腾讯面试官 :谈一谈Binder的原理和实现一次拷贝的流程心理分析 :能问出该问题,面试官对binder的理解是非常深入的。想问求职者对Android底层有没有深入理解求职者:应该从linux进程通信原理的两次拷贝说起,然后引申为什么binder却只有一次拷贝 ,最后阐述内核空间 与用户空间的定义1. Linux 下传统的进程间通信原理了解 Linux IPC 相关的概念和原理有...
2019-11-15 08:24:32
578
转载 okhttp3源码分析之拦截器
okhttp3源码分析之拦截器前言上一篇文章:okhttp3源码分析之请求流程本篇文章继续通过源码来探讨okhttp的另外一个重要知识点:拦截器,在上一篇文章我们知道,在请求发送到服务器之前有一系列的拦截器对请求做了处理后才发送出去,在服务器返回响应之后,同样的有一系列拦截器对响应做了处理后才返回给发起请求的调用者,可见,拦截器是okhttp的一个重要的核心功能,在分析各个拦截器功能的同...
2019-11-05 17:17:02
261
转载 okhttp3源码分析之请求流程
okhttp3源码分析之请求流程前言在Android开发中,当下最火的网络请求框架莫过于okhttp和retrofit,它们都是square公司的产品,两个都是非常优秀开源库,值得我们去阅读它们的源码,学习它们的设计理念,但其实retrofit底层还是用okhttp来发起网络请求的,所以深入理解了okhttp也就深入理解了retrofit,它们的源码阅读顺序应该是先看okhttp,我在retr...
2019-11-05 17:03:49
296
原创 jni原理
概念jni是Java Native Interface的缩写,是链接Java层和Native层的桥梁,提供了Java层和Native层(C/C++)相互调用的能力。Java世界的代码要怎么使用Native世界的代码呢,这就需要一个桥梁来将它们连接在一起,而JNI就是这个桥梁。以Android中的MediaRecorder为例:java层的代码:public class MediaRec...
2019-10-31 16:07:06
459
原创 CMake学习
CMake使用教程cmake内置常量# ${ANDROID_ABI} 构建的CPU架构# ${CMAKE_SOURCE_DIR} cmakeList.txt所在的文件夹路径# ${ANDROID_NDK} NDK所在目录路径cmake_minimum_required#cmake最低版本cmake_minimum_required(VERSION 3.4.1)aux...
2019-10-28 17:24:03
179
原创 Android系统启动流程
安卓系统启动流程首先开启电源,固化在ROM中引导程序BootLoader被加载到RAM中运行BootLoader拉起Linux内核系统内核系统启动好后会创建init进程,init进程进行系统运行需要的文件目录的初始化和创建属性服务,并启动Zygote进程Zygote进程中,会创建java虚拟机,并注册JNI方法。此时由Native层首次来到了Java层。还创建了socket...
2019-10-28 17:21:57
101
原创 opengl es学习笔记
OpenGL ESOpenGL 是一种应用程序编程接口,它是一种可以对图形硬件设备特性进行访问的软件库。重点:OpenGL 是一种接口,既然是接口,那么就必然要有实现。事实上,它的实现是由显示设备厂商提供的,而且依赖于厂商提供的硬件设备。OpenGL 常用于 CAD、虚拟实境、科学可视化程序和电子游戏开发。在 Android 上使用的是 OpenGL ES,它是 OpenGL 的子集,在...
2019-10-28 17:19:14
400
原创 Java基础笔记
HashMap特点:无序、非线程安全、基于数组和链表实现、允许key、value为null容量和负载因子capacity : 容量,初始大小16。table数组的长度load_factor : 负载因子,默认0.75当size>= capacity * load_factor 时数组进行扩容,新的table长度为之前的2倍。jdk 1.8之后,链表长度超过8会转为红...
2019-10-28 10:20:52
330
转载 一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目
项目网址:https://github.com/bboyfeiyu/android-tech-frontier主站:http://www.devtf.cn
2015-07-02 11:29:35
487
原创 事件总线EventBus Android开源库的使用
EventBus是android的一个开源库,https://github.com/greenrobot/EventBus
2014-07-19 18:01:22
755
移动应用UI设计模式
2019-02-13
Java赛车小游戏(简单,适于初学者)
2013-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人