- 博客(52)
- 收藏
- 关注
原创 源码分析:Service的绑定过程(bindService)
文章目录ContextWrapper#bindService(除特殊说明外,以下代码都基于API25)ContextImpl#bindServiceContextImpl#bindServiceCommonLoadedApk#getServiceDispatcherLoadedApk.ServiceDispatcher.InnerConnectionContextImpl#bindServiceC...
2019-05-24 20:49:11
609
原创 HashMap源码分析(JDK1.8)
文章目录前言源码分析需要先了解的知识将会用到的实例常量将会用到的实例变量Node(存储键值对的节点)构造方法默认的构造方法带一个Map类型参数的构造方法带一个int参数的构造方法带两个int参数的构造方法put方法(增)putIfAbsentresize方法(扩容)putValremove方法(删)removeNodereplace方法(改)getNodeget方法(查)小结参考前言本文将对H...
2019-05-20 21:22:16
130
原创 利用KMP算法解决LeetCode第28题:实现strStr()
文章目录简介算法分析和暴力法的区别重点和难点分析next数组如何求实战:实现strStr()(LeetCode第28题)题目描述示例代码参考简介KMP算法是一种字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹...
2019-05-06 14:31:26
554
4
原创 hexo个人博客收录谷歌
文章目录进入谷歌站点平台验证网站所有权使用HTML标记验证修改Next主题(v7.1.0)的配置文件配置head.swig文件通过验证生成站点地图安装sitemap插件修改博客配置文件提交谷歌站点地图等待谷歌收录参考进入谷歌站点平台先进入google站点平台,点击右上角的登录,如果还没有谷歌账号的要先注册一个谷歌账号。然后添加资源,这里选择网址前缀,输入博客首页,例如:https://mrfz...
2019-05-05 10:01:57
1437
原创 源码分析:Activity的启动过程(2)
文章目录ActivityStackSupervisor#realStartActivityLocked(以下源码都是基于API25)ActivityThread.ApplicationThread#scheduleLaunchActivityActivityThread.H#handleMessageActivityThread#handleLaunchActivityActivityThread...
2019-04-26 15:47:13
232
原创 源码分析:Activity的启动过程(1)
点击播放点击播放图标后,开始播放音乐,现在分析一下其具体流程首先看MainActivity.java @Override public void onClick(View v) { switch (v.getId()) { //....... case R.id.iv_main_play_and_pause: ...
2019-04-26 15:45:29
209
原创 kotlin中“==”和“===”的区别
code 1fun main(args: Array<String>) { val a : Int = 1000 println(a == a) //true println(a === a) //true val a1 : Int = a val a2 : Int = a println(a1 == a2) //tr...
2018-10-22 20:27:19
2026
原创 对于通过继承Thread类和实现Runnable接口这两种方式来创建线程的理解(含少量源码分析)
文章目录举例说明如何通过这两种方式创建线程继承Thread类创建线程类实现Runnable接口创建线程从源码角度分析以上两种方法继承Thread实现Runnable两种方式所带来的不同举例说明如何通过这两种方式创建线程继承Thread类创建线程类public class FirstThread extends Thread { int i = 0; //不同线程对象不能共享该成员变量 ...
2018-10-20 15:43:07
1132
原创 ripple实现点击时的水波纹效果
文章目录前言实现的效果ripple的使用注意前言在看网易云音乐播放器的时候,觉得它在选择音乐时候的波纹效果很好看,就想要模仿这种效果。然后在网上找了一下这方面的文章,最后被我发现了ripple,用ripple就能很好地实现这种波纹效果。所以用这篇文章记录下ripple的实现,如果发现我的代码有问题,欢迎大家指出。实现的效果ripple的使用首先在res目录下新建一个drawable-v...
2018-10-14 16:05:58
1003
原创 从setContentView方法源码出发,弄懂Activity的视图是怎么附属在Window上的
Activity的视图是怎么附属在Window上的由于Activity的视图由setContentView方法提供,所以我们只需查看该方法即可。public void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(layoutResID); initWindowDecorActio...
2018-10-13 14:01:25
217
原创 如何理解Shader以及Shader的子类怎么使用
文章目录如何理解shaderShader的子类BitmapShader如何理解shader先看一下官方解释:/** * Shader is the based class for objects that return horizontal spans of colors * during drawing. A subclass of Shader is installed in...
2018-10-12 12:09:25
689
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人