自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

柚子Jiang

从新人开始成长。

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

原创 JAVA源码-LinkedList源码分析

本文的分析基于Java 1.8源码。上篇分析了ArrayList的源码,点击这里:ArrayList源码解析这篇将从构造方法、增删改查、遍历角度分析LinkedList源码。LinkedList是基于链表实现的List。老规矩,先看看类图同ArrayList,LinkedList也是继承自AbstractList类,是Collection的子类之一,同时实现了Serializable、C...

2019-03-04 09:35:40 638 1

原创 JAVA源码-ArrayList源码分析

JAVA源码分析-ArrayList成员变量构造函数常用操作ensureCapacity()add()remove()get()set()contains()trimToSize()总结ArrayList是线性表的实现之一,也是我们平常开发中用的最多的一种容器类。今天就讲讲其源码实现。先来看看其类图。可以看到其继承自AbstractList类,也是Collection的子类之一,同时实现...

2019-03-01 16:02:05 279 1

原创 Android系统启动分析(三)

本节是本系列文章的第三篇,将分析System_Server进程的启动过程和Launcher的启动过程。第一篇文章:Android系统启动分析(一)第二篇文章:Android系统启动分析(二)本节涉及到的文件有: 文件 路径 ZygoteInit.java frameworks/base/core/java/com/android/internal/os/Zyg...

2019-01-05 12:42:44 323 1

原创 Android系统启动分析(二)

本节是本系列文章的第二篇,将分析Zygote进程的启动过程。第一篇文章:Android系统启动分析(一)第三篇文章:Android系统启动分析(三)二、Zygote进程启动上节分析了Init进程的启动流程。本节将进入到framework层,分析Zygote进程的启动流程。本节涉及到的文件有:文件路径app_main.cppframework/cmds/app_process/app_m...

2018-12-20 10:30:30 421

原创 Android系统启动分析(一)

Android系统启动分析一一、init进程启动1.1 init.main()1.2 解析init.rc1.2.1 解析service1.2.2 启动ServiceManager1.2.3 启动Zygote1.3 小结本文的分析基于Android 8.1源码。Android系统启动与应用程序的启动流程、四大组件原理、AMS、ClassLoader等息息相关,因此了解Android系统启动流程对...

2018-12-20 10:27:22 652 1

原创 Linux与Windows共享文件之Samba部署

一、起因最近公司和展讯有个合作项目,因此他们那边派人过来驻场开发。这是一个好的机会去了解更多的开发方式,原先 xshell+vim的方式实在效率太低,调试也不方便,被我百般吐槽。终于在和他们的沟通中了解到一个工具:samba。它可以实现Linux系统和Windows之间的资源共享。有了samba,从此在Windows上也可以通过Android Studio、Source Insight等IDE...

2018-05-26 16:04:56 382

原创 JAVA-理解多态

前言  面向对象有三大特征:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用者的前提下改变类的内部结构,继承是为了重用父类代码,而多态呢?今天我就谈谈自己对多态的理解。多态  多态是指同一消息可以根据发送对象的不同而采用多种不同的行为方 式。多态具有以下几个优点: 1. 消除类型之间的耦合关系 2. 可替换性 3. 可扩充性 4. 接口性 5....

2018-05-02 21:16:03 230

原创 Android Framework之Activity启动流程(三)

各位看官好,本文是Android Framework之Activity启动流程的第三篇,本篇将分析Activity生命周期的回调,新世界的大门就在眼前,走起。 第一篇:Android Framework之Activity启动流程(一) 第二篇:Android Framework之Activity启动流程(二)执行完ApplicationThread# handleBindApplicat...

2018-04-12 21:37:09 533

原创 Android Framework之Activity启动流程(二)

各位看官好,本文是Android Framework之Activity启动流程的第二篇,接下来将为大家带来开启Activity进程的流程。 第一篇:Android Framework之Activity启动流程(一) 第三篇:Android Framework之Activity启动流程(三) ActivityManagerService这里又回到了ActivityManagerSe...

2018-04-12 21:26:47 617

原创 Android Framework之Activity启动流程(一)

本文的分析基于Android 8.1源码。本文章将分三篇为大家讲解。 第二篇:Android Framework之Activity启动流程(二) 第三篇:Android Framework之Activity启动流程(三) 在文章的起始,插张时序图,先看结论再看过程。 Zygote在Android系统中,是由ActivityManagerService负责为应用程序创...

2018-04-12 21:07:09 1788

原创 Git常用命令

Git是工作中使用最多的一个工具,平时的代码也是用git来管理。分享一下平时使用最多的Git命令。先上一张Git结构图命令:1、初始化git git init //创建 git clone path //clone代码 git config –global user.email “you@examle.com” //配置email git config –...

2018-02-07 16:29:39 223

原创 分析Android长按电源键事件并定制长按电源dialog

本文的分析基于Android官方提供的Android7.0源码Android设备长按电源键,会弹出一个对话框。 现有一个需求,就是定制一个弹出的对话框。 Android在Frameworks下的PhoneWindowManager对电源按键和Home键的事件做了处理,不会将这些键传送到上层应用。因此,我们可以从PhoneWindowManager入手处理长按电源键的一系列事件。 Phone

2017-10-28 14:06:43 2785 3

原创 从getSystemService()出发获取系统服务

(本文的分析基于Android7.0的源码) 开始阅读本文的你一定很好奇,为啥在Activity使用getSystemSerive,传入相应的系统服务名字就可得到相应的系统服务,这其中又是怎么管理系统服务的呢?先不要急,本文将从最基础的入手慢慢为你介绍getSystemService的原理。 我们使用getSystemService最多的地方莫过于在Activity中使用,暂且看看Act

2017-09-07 15:27:17 820

原创 Android 7.0 Launcher3的启动和加载流程分析

本文的分析基于MTK提供的Android 7.0源码,并非Google官方提供的源码,其中可能有一些小的差异,还望谅解。 Launcher的本质就是一个普通应用,它比普通应用多配置了Category的Android:name=”android.intent.category.HOME”属性,之后ActivityManagerService的startHomeActivityLocked方法将启动含

2017-08-21 20:37:32 3923 1

原创 RecyclerView异常BUG

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.daijintao.youjin, PID: 4882

2017-05-06 00:23:07 660

原创 Picasso图片加载框架的使用及加载网络图片等比例缩放

欢迎使用Markdown编辑器写博客在平时开发中,常需要从网络上获取图片到本地保存或显示,在初学Android时,第一次接触到这个技术是从请求网络开始,然后把图片以流的形式保存到Bitmap对象中进行显示。 然而上述过程太过繁琐,还要编写代码处理图片缓存等操作,最近在做项目的过程中就接触到了一种简单而优雅的图片加载框架,只需以下一行代码便可加载图片。Picasso.with(context)

2017-02-09 00:25:34 2608 1

原创 在RecyclerView里使用图片轮播

图片轮播控件Banner,结合MultiType框架使用前段时间学习了基于RecyclerView的MultiType框架, 最近在做项目的时候碰到需要在RecyclerView里使用图片轮播的功能,所以我就准备在项目中将图片轮播和MultiType框架结合使用。 为了加深印象,特将项目中的一些代码记录下来,以便以后翻阅查询。网上的图片轮播代码不计其数,作为懒到极致的我来说自然是找个容易上手的框

2017-02-04 20:16:17 1812 1

空空如也

空空如也

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

TA关注的人

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