自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PPLLiang的博客

"Read The Fucking Source Code"--Linus Torvalds

  • 博客(11)
  • 收藏
  • 关注

原创 从ActivityThread的创建窥探应用进程的启动流程

1. 概述ActivityThread的main()方法是应用进程的入口,ActivityThread在应用运行过程起了不可或缺的作用,并且每个进程只有一个ActivityThread实例,ActivityThread在进程启动的过程中创建的,常常好奇是如何创建ActivityThread并执行其main方法完成应用初始化的。本文只是应用进程启动流程的学习笔记,希望对应用启动流程有个大概的认识,...

2019-01-31 19:29:39 777

原创 JNI—阅读Android源码

终于来到解决最后一个问题"如何阅读Android Native 源码?"的时候了,也到了JNI系列最后一篇文章,该系列文章如下:JNI—NDK开发流程(ndk-build与CMake)JNI—C/C++与Java的交互主要为了解决三个问题:NDK的开发流程?C/C++ 与 Java如何进行通信的?如何阅读Android Native 源码?当初学习JNI仅仅只是为了读懂Andro...

2019-01-22 20:08:26 2823

原创 JNI—C/C++与Java的交互

1. 概述在上一章节JNI—NDK开发流程(ndk-build与CMake)中讲述了NDK的开发流程,但是还遗留两个问题:C/C++ 与 Java如何进行通信的?如何阅读Android Native 源码?今天来解决第二个问题C/C++与Java 如何进行通信的?2. 数据类型与描述符2.1. 数据类型非常多博文讲述了JNI的数据类型与JAVA语言数据类型的映射关系,但是为什么...

2019-01-22 10:40:13 1720

原创 JNI—NDK开发流程(ndk-build与CMake)

注意,例子使用的各版本信息如下:AS 3.3Gradle Tool:3.3.0Gradle Version:4.10.11. 概述最近在阅读Android 源码的过程中发现大量的Native方法,在没有系统掌握JNI与NDK知识的情况下寸步难行,所以有必要系统地了解相关知识。在学习之前,我常常有有如下几个疑问:NDK的开发流程?C/C++ 与 Java如何相关通信的?如何阅...

2019-01-16 13:52:23 3144 1

原创 EventBus—思考观察者模式与发布订阅者模式

EventBus系列文章:EventBus—使用实践EventBus—源码解析1. 概述在EventBus的学习当中,EventBus是基于发布订阅者模式的消息处理框架。EventBus is an open-source library for Android and Java using the publisher/subscriber pattern for loose co...

2019-01-08 16:33:14 1861 1

原创 网络基础—HTTPS

HTTPS 概念HTTPS:Hypertext Transfer Protocol Secure, 超文本传输安全协议,HTTPS通过HTTP进行通信,但是利用SSL/TLS来加密数据包。HTTPS: HTTP + SSL/TLS(SSL与TLS都为应用层协议)SSL: 安全套接层 (Secure Sockets Layer,缩写作 SSL)是一种安全协议TLS:传输层安全性协议(英语:...

2019-01-02 19:06:57 268 2

原创 EventBus—源码解析

1. EventBus 简单使用EventBus的使用实践已经在上一篇的博客中讲述了,可查阅EventBus—使用实践。在此只简单列举EventBus的使用:1.1. 定义事件public class TextEvent { private String mText; public TextEvent(String text) { this.mText =...

2018-12-20 10:15:44 332

原创 Android P刘海屏适配及实现原理

1. Android P 刘海屏的适配介绍:Android P 新增了刘海屏的支持,以下内容摘录至Google Android Developer官网:Android 9 支持最新的全面屏,其中包含为摄像头和扬声器预留空间的屏幕缺口。 通过 DisplayCutout 类可确定非功能区域的位置和形状,这些区域不应显示内容。 要确定这些屏幕缺口区域是否存在及其位置,请使用 getDisp...

2018-12-13 14:34:47 5353

原创 EventBus—使用实践

1. 概述EventBus是Greenrobot开源组织推出的开源框架,是一个基于发布者/订阅者模式的通信框架,有效地解耦调用者和被调用者。Github:https://github.com/greenrobot/EventBus官网:http://greenrobot.org/eventbus/优点:简化组件间的通信;解耦调用者与被调用者的关系;避免复杂的关系逻辑与生命周期的问题...

2018-12-08 12:02:36 957

原创 Android事件分发机制——几行伪代码就够了

1. 概述事件分发机制在开发或面试中常常被提及,而其又是自定义view点击事件的处理、滑动冲突等问题的理论基础。如果想写出酷炫的自定义View,理解该机制是必不可少的功课。但是发现往往在开发过程中,一动手写事件逻辑,常常出现一些无法理解的错误,如果还停留在“onTouchEvent 返回true拦截事件,返回false不拦截事件”表层理论,远远无法满足开发需求的。不得不翻出曾经收藏的博文或笔记...

2018-12-01 21:55:39 1154 1

原创 Android通知系统源码解析

Android通知系统源码解析1. 概述2. 流程图2.1. 发送通知流程图3. 源码解析3.1. 使用通知--APP进程3.1.1. 创建通知:3.1.2. 发送(更新)通知:3.1.3. 取消通知:3.1.4. 创建通知源码解析:3.2. 管理通知--SystemServer进程3.2.1. 发送通知:3.2.2. Service处理和推送通知:3.3. 展示--SystemUI进程1. 概...

2018-11-28 19:31:11 4166 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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