自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Android 性能优化(二) —— 启动优化实战

继上一篇的 Android 启动优化(一) 小试牛刀(优化预览窗口)之后,我们再进一步优化应用。

2019-03-01 10:39:33 626 0

原创 Android 性能优化(一) —— 启动优化提升60%

应用启动速度 视觉优化 视觉优化——启动主题优化 1.默认情况 应用启动速度 一个应用App的启动速度能够影响用户的首次体验,启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降,或者卸载放弃该应用程序。 本文将从...

2018-08-25 18:48:23 23567 10

原创 Android 消息机制——你真的了解Handler?

前言 Questions Looper 死循环为什么不会导致应用卡死会消耗大量资源吗 主线程的消息循环机制是什么 ActivityThread 的动力是什么 前言 Android的消息机制主要是指Handler的运行机制,对于大家来说Handler已经是轻车熟路了,可是真的...

2017-10-17 16:47:27 23227 19

原创 Android Launcher 启动 Activity 的工作过程

前言通过上一篇文章(Binder之应用层总结与分析)可以了解到进程间通讯的一个大致情况,像今天要提到的Activity启动过程,也是以Binder为通讯方式。系统对这个工作过程做了很多封装,使得启动一个Activity变得十分简单。这看似简单的背后,实际上是Activity与ActivityMan...

2017-10-03 20:46:19 23609 17

原创 透视HTTP协议(五) —— 什么是HTTPS

1. HTTPS是什么 2. HTTP 与 HTTPS有哪些区别 3. HTTPS 是如何握手的

2019-09-28 17:07:06 194 0

原创 透视HTTP协议(四) —— HTTP头部字段有哪些

1. HTTP 常见的数据类型 2. HTTP 常见的压缩有哪些 3. HTTP 是如何分块传输 4. HTTP 如何断点传输 5. 长连接 6. 重定向 7. 缓存

2019-09-28 16:54:22 485 0

原创 透视HTTP协议(三) —— HTTP请求过程和结构

1. 网址输入后点击回车键发生了什么 2. HTTP的报文结构有哪些 3. HTTP 的响应状态码有哪些

2019-09-28 15:55:14 122 0

原创 透视HTTP协议(二) —— HTTP相关的协议

1. 什么是 DNS 2. DNS 与 HTTP 有什么联系 3. URI 什么,URL 又是什么 4. HTTP 有哪些代理 5. TCP/IP 分为哪几层 6. OSI 网络分层又是什么

2019-09-28 15:42:33 134 0

原创 透视HTTP协议(一) —— HTTP是什么

1. HTTP 是什么 2. 万维网 WWW 包含哪些 3. HTTP 的版本有哪些 4. 和 HTTP 相关的还有哪些协议 5. HTTP 有哪些特点,什么是 HTTP 经久不衰的原因

2019-09-28 14:59:28 546 0

原创 Android ConstraintLayout xmind

查看大图.

2019-06-06 14:40:23 125 0

原创 Android 相见恨晚的命名规约

Android 命名规范

2019-04-22 10:51:01 213 1

原创 Android 相见恨晚的高效编码规范

本篇文章是基于《Effective Java 3》以及阿里出版的《码出高效—Java开发手册》的总结文章。

2019-04-20 21:51:38 206 0

原创 工作方法总结

查看大图.

2019-04-14 16:37:11 338 0

原创 《为什么精英都是时间控》

文章目录《为什么精英都是时间控》提高专注力15 · 45 · 90排除杂念时间限制黄金时间—早晨早晨清醒术晨起2~3小时最清醒,专注力最高(做专注性工作)早晨拒绝多余和多种资讯,排除杂念上班前的固定时间—自我投资(1.1的365次方)上班最初30分钟最为重要(进入工作状态)午后—重启术为下午储备能...

2019-03-22 08:02:00 273 4

原创 Android 屏幕绘制机制及硬件加速

前言 硬件加速 CPU / GPU结构对比 OpenGL Android 的图形组件 画笔 画纸 画板 合成及显示 CPU / GPU 绘制过程 软件绘制 硬件加速 视图构建 前言 开发手机应用最主要的两个点是 1...

2019-03-13 10:14:51 6960 4

原创 腾讯 Xlog 上手指南

文章目录关于Xlog下载及编译使用初始化混淆查看DIY 关于Xlog https://github.com/Tencent/mars 访问 mars 仓库,将代码压缩包下载到本地.下载的过程中可以初步了解 mars 是何方神圣 : https://github.com/Tencent/mar...

2019-02-28 23:49:23 1269 0

原创 Android Aspectj 从入门到实战

Android Studio 想接入 AspectJ ? 看这篇就对了!从0到1 , 包会!

2018-12-30 11:37:27 1021 1

原创 Android Library 上传到 JCenter 之图文总结

前言 本篇博客暂先粗略的总结一下 Jcenter 发布的过程和坑。 注册 刚要跨出第一步就绊倒在注册这一步。 公司试用版和个人免费版注册地址:https://bintray.com/ 切记一定要选择右边这个 Sign Up Here 按钮,不管你是否用 github 第三方登录,...

2018-10-24 18:00:03 241 0

原创 Java设计模式——装饰者模式(Decorator Pattern)

装饰者模式 装饰者模式也称为包装模式(Wrapper Pattern),属于结构型设计模式。 该模式对客户端透明的方式来动态的扩展对象,(对扩展开放,对修改关闭) 同时该模式也是继承关系的一种替代方法之一。 总之就是动态的给对象添加一些额外的职责,类似钢铁侠可以组装不同武器。 结...

2018-09-08 16:33:45 3484 0

原创 Android 屏幕刷新机制

前言 View的工作流程 Choreographer FrameDisplayEventReceiver VSYNC Triple Buffer 前言 在上一篇 View的工作流程 的博客中,分析了ViewRootImpl类中应用窗口 measure,layout 和 dr...

2018-07-09 00:16:33 2365 0

原创 算法 —— 排序 —— 优先队列

优先队列 二叉堆 优先队列 【Priority Queue】 首先声明一下,优先队列是基于堆的完全二叉树,它和队列的概念无关。(它并不是队列,而是树) 并且,优先队列最重要的操作就是: 删除最大元素和插入元素,所以我们把精力集中在这两点上。(本文以最大堆为主讲述) ...

2018-06-02 19:40:28 2359 0

原创 算法 —— 排序 —— 快速排序

快速排序 基本思想 切分 排序算法 算法改进 三向切分(改进重复元素排序) 快速排序 快速排序是应用最广泛的排序算法了。原因是实现简单,且在一般应用中比其他排序算法要快得多。 快速排序内循环比大多数排序算法都要短小,这意味着它无论是在理论上还是在...

2018-05-01 23:20:02 318 0

原创 算法 —— 排序 —— 归并排序

“分治”策略 归并 自顶向下(递归) 自底向上(遍历) “分治”策略 分治,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在计算机科学中...

2018-04-15 19:38:05 242 0

原创 算法 —— 排序 —— 初级排序

前言 选择排序 插入排序 选择排序和插入排序对比 希尔排序 引入 h h 的取值 希尔排序的性能 前言 算法,在计算机领域都是一个永恒的话题。 尤其是当今这个信息科技高速飞跃的时代,对算法的深入学习和挖掘可以说是炽手可热。 不说宏观的,为了更好的工作和生活,深入浅出学习算...

2018-04-01 14:57:51 459 0

原创 2018年android面试分享和学习总结

概述 成果和收获 面试分享 Android JVM Java 线程 Java 集合 网络 数据结构和算法 写在最后 概述 回顾历史不忘初心 展望未来继续前行。 17年零零碎碎也捣鼓了好一阵子,从Android 自定义View开始,到源码分析,设计模式,再到JVM的了解以及...

2018-03-18 17:53:40 6216 18

原创 Java —— 多态与分派

多态 分派 静态分派重载 静态分派 之 字面量 动态分派重写 单分派与多分派 虚方法表 总结 多态 Java具备面向对象的3个基本特征 : 继承,封装(get / set)和多态。 多态 : 继承,重写(Override),向上转型(Human h...

2018-01-23 12:46:02 474 0

原创 Java —— 运行时栈帧结构

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 概述栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构。它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。

2018-01-21 16:06:06 8400 12

原创 Java —— 类加载器和双亲委派

类加载器 双亲委派模型 自定义类加载器 类加载器 上一篇文章介绍了Java 类加载机制,文中说过,类加载阶段中“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现。 也就是说应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称 : “...

2018-01-18 18:57:03 1083 0

原创 Java —— 类加载机制

概述 类的生命周期 加载 验证 准备 解析 初始化 卸载 概述 代码编译是将本地机器码变为字节码,这一过程是存储格式发展的一小步,却是编程语言发展的一大步。 虚拟机加载完Class文件,最终形成可以被虚拟机直接使用的Java类型。这一个过程也就是类的加载机制。 ...

2018-01-16 22:43:41 918 0

原创 Java垃圾回收(三)—— 图解内存分配策略

经过上两篇垃圾回收的文章我们可以了解到垃圾回收的运作原理。 Java垃圾回收机制 Java垃圾收集器 Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决两个问题 : 给对象分配内存。 回收分配给对象的内存。 那么这篇文章就来了解以下内存分配策略。 对象的内...

2018-01-14 21:56:50 662 0

原创 Java垃圾回收(二)—— 垃圾收集器

概述 Stop The World 枚举GC Roots 安全点 安全区域 垃圾收集器 吞吐量 GC的名词 并行和并发 Serial 收集器单线程垃圾收集新老 ParNew 收集器Serial 升级版新 Parallel 收集器吞吐量优先新老 CMS 收集器停顿时间优先老 G1收集器垃圾区域R...

2018-01-14 12:11:12 794 0

原创 Java垃圾回收(一)—— 回收机制

垃圾回收 哪些内存需要回收 什么时候回收 如何回收 对象回收判定 引用计数算法 可达性分析算法 GC Roots的对象 对象之引用 垃圾回收算法 标记 - 清除算法 复制算法 标记 - 整理算法 分代收集算法 新生代 老年代 分代收集算法工作...

2018-01-11 19:03:54 970 2

原创 Java对象的内存布局、访问定位和创建

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,外面的人想进去,墙里面的人却想出来。

2018-01-08 14:39:45 750 0

原创 Java——常量池探索

什么是常量? 对于这个问题,可能很多人都可以脱口而出 : 用final修饰的变量是常量 ,或者是在编译时期定义好的字符串。(字符串常量)但是这种说法是不严谨的

2018-01-06 16:05:09 1322 2

原创 Java——String对象探索

String 对于日常代码来说是一个使用频率很高的对象,因为它的一些使用数据和基本数据类型有些相似,所以很容易把String 混淆为基本数据类型。

2018-01-03 22:17:00 1156 2

原创 Java内存区域——堆,栈,方法区等

运行时数据区域 程序计数器 Java虚拟机栈 栈帧 本地方法栈 堆 方法区 运行时常量池 拓展 运行时数据区域 jdk1.7中, Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 程序计数器 1. 程序计数器(Pr...

2018-01-02 16:15:48 6954 6

原创 Android View的工作流程

ViewRootImpl在整个View体系中起着中流砥柱的作用,它是控件树正常运作的动力所在,并且有如下几个重要功能点。 - 连接WindowManager和DecorView的纽带。 - 向DecorView派发输入事件 - 完成View的绘制(measure,layout,draw)。...

2017-12-02 19:41:20 3814 7

原创 Android Window 机制探索

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 Window的概念 setContentView installDecor generateLayout Window的类型 应用窗口 子窗口 系统窗口 Window的内部机制(Activity) Win...

2017-11-16 21:01:01 9241 20

原创 Android Binder之应用层总结与分析

概述通过前两篇( Android 深入浅出AIDL(一) Android 深入浅出AIDL(二))文章对AIDL进行运用与分析,对于Android跨进程通讯有了不少的了解,深入分析AIDL通讯过程,我们发现跨进程的主导元素是Binder,但是这个Binder是Android中很重要又很复杂的概念,...

2017-09-25 21:48:34 5328 11

原创 Android 深入浅出AIDL(二)

前言继上一篇AIDL的简单介绍,相信应该对AIDL有一个大致的了解,那么这一篇我们来深入探讨一下AIDL为什么能够完成这个跨进程操作,这其中是否隐藏着一些不为人知的秘密,让我们跟着笔者的思路,慢慢拨开笼罩在AIDL上的谜团。概要 先用上图整体描述这个AIDL从客户端(Client)发起请...

2017-09-24 09:09:32 3381 0

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