自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SillyMonkey?

梦里梦到醒不来的梦

原创 消息语音播报,微信语音自动播放,有点儿意思,可以看看这个应用

我们谈谈技术,当然,主要也是给自己做的应用打打广告,谢谢大家支持,下载用用,提提意见。先上个二维码,感兴趣的现在就可以去看看: 点击下载方便聊,下方二维码扫描直接下载 看看这个可爱的二维码 说说初衷 一个月之前,朋友给我说了一个很有意思的需求: 在骑单车的时候(...

2018-02-23 11:25:39 28304 5

原创 AsyncTask你真的用对了吗?

在之前的文章深入探究了Handler,《从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)》我们知道了Android的消息机制主要靠Handler来实现,但是在Handler的使用中,忽略内存泄露的问题,不管是代码量还是理解程度上都...

2016-08-26 16:40:44 14854 0

原创 从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)

转载请注明出处http://blog.csdn.net/ly502541243/article/details/52062179 Handler 每个初学Android开发的都绕不开Handler这个“坎”,为什么说是个坎呢,首先这是Android架构的精髓之一,其次大部分人都是知其然...

2016-07-29 10:25:53 42301 17

原创 MVP“美”图+新闻+天气预报+Material+Rx+Retrofit+Glide+leakcanary+butterknife

SuperMvpMVP + RxJava+Retrofit+Glide+Material DesignGit链接https://github.com/liuyanggithub/SuperMvp简介一款遵循Material Design风格的新闻,美图,天气查询应用

2016-03-09 17:52:53 1507 0

原创 悬浮窗一个怎么够?微信新版本满足你的一心多用

在你看公众号文章的时候有没有这样的烦恼? 正在看文章--->来了消息--->想退出去回--->待会儿又要重新找。 这可真是要逼死人,岂不是我要看完了才退出去。 所以微信在之前的版本,加入了悬浮窗功能。 点击右上角或者左滑,可以将当前文章缩小为一个悬浮窗,之...

2019-07-19 10:28:07 281 0

原创 What?EventBus的核心竟然只是这两个Map?

简单介绍一下EventBus 其实EventBus大家都很熟悉了,就不过多去说它了。通常我们叫它事件总线,其实它更像是广播,观察者模式,一方发送消息多方接收。在EventBus的创建订阅过程中,最重要的就是有两个关键的Map,这两个键值对里面存储了我们定义的订阅方法和相关的类,那到底是具体是怎么操...

2019-04-26 11:47:22 108 0

原创 Retrofit2.5怎么做到网络请求的处理的?

Retrofit对请求方法的解析 Retrofit对我们在接口类中定义的方法是如何转换成了请求,又如何处理响应。这一切都在它的loadServiceMethod方法中 代码基于Retrofit2.5.0 ServiceMethod<?> loadServiceMeth...

2019-04-08 14:19:49 101 0

原创 Retrofit2.5是如何解析在接口类中定义的方法?

前言 Retrofit的核心在于它的create方法中使用了动态代理,在这里面主要是loadServiceMethod方法: 以下代码基于Retrofit2.5.0(跟2.3.0代码存在明显不同) public <T> T create(final Class<...

2019-04-03 16:14:14 185 0

原创 Retrofit是如何创建的?为什么要用动态代理

Retrofit的出现让Android的网络请求变得异常简单,同时可以很好的配合后台的REST接口。非常值得我们去探究一下它的原理。 Retrofit的使用 通常我们是Retrofit是和Rxjava配合使用,这里我们不做用法上的过多研究,主要看原理,所以下面的代码都是Retrofit的自...

2019-04-02 09:52:18 276 0

原创 一个线程可以有几个Looper?几个Handler?从Looper.prepare()来看看关于Looper的一些问题

前言 之前我有篇文章里面写到了Android的消息机制,Handler发送消息的一些原理。链接如下: 从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露) 在消息机制里面,有一个非常重要的东西,那就是Looper,Looper的...

2019-02-18 11:06:14 3573 5

原创 解决RecyclerView在ScrollView中会置顶它上面的控件

通常情况下,需要在RecyclerView上加布局可以通过自己定义adapter然后add header来添加。 但是也还有一种方法来实现,那就是用ScrollView来嵌套,比如这样的代码: &lt;ScrollView android:layout_width=&quo...

2019-02-14 10:56:14 284 0

原创 底部Tab+FrameLayout嵌套CoordinatorLayout+Viewpager切换时布局错乱

顶部伸缩效果 现在要实现这么一个效果,有一个标题栏(或者其他控件),下面是tablayout+viewpager,然后在viewpager里面的内容滑动的时候tab悬浮,有点像微博热搜的界面 ####向下滑动之前 ####向下滑动之后 CoordinatorLayout实现头部布局...

2019-01-19 15:54:41 1061 3

原创 OkHttp3.9拦截器原理与区别

接上回传送门 上回我们讲到,OkHttp的请求过程中有个非常重要的东西-“拦截器”,而且拦截器又分为interceptors和networkInterceptors两种,那它们具体有何区别呢?又要怎么来使用?现在来一探究竟 拦截器工作原理 在弄清楚区别之前,要先知道他们工作的原理...

2018-05-21 10:37:46 565 0

原创 OkHttp3.9请求过程源码解析

首先来看看OkHttp的基础 创建一个普通的同步get请求代码如下: OkHttpClient client = new OkHttpClient();//1 String run(String url) throws IOException { Request request =...

2018-05-10 18:03:46 315 2

原创 解锁Android点击事件分发机制

开头说说初衷网上关于点击事件分发的文章一搜一大堆,标题一看,不是“30分钟让你弄明白XXX”就是“这是讲解XXX最好的文章”,满怀憧憬与信心,忍不住兴奋的点进去一看,发现不是代码就全是图,我基本上看完了所有相关的文章,结果硬是看了三个小时也没搞懂。所以最后还是决定自己去试一试,看一看点击事件分发到...

2017-12-19 15:06:43 1014 0

原创 【开源项目】Material Design的MVP图片裁剪视频选择器

SuperSelector项目地址基于MVP的图片视频选择器+Material+Glide+leakcanary+butterknife简介一款遵循Material Design风格的图片视频选择器 - MVP模式,基于API25(7.1.1)开发,加入动态权限 - 使用RecycleView...

2017-06-30 14:42:02 801 0

原创 从源码来看ItemTouchHelper实现RecyclerView列表的拖拽和侧滑

RecyclerView是一个用来替换之前的ListView和GridView的控件,使用的时候,虽然比以前的ListView看起来麻烦,但是其实作为一个高度解耦的控件,复杂一点点换来极大的灵活性,丰富的可操作性,何乐而不为呢。不过今天主要说说它的一个辅助类ItemTouchHelper来实现列表...

2017-05-12 11:35:04 1239 0

原创 Activity界面的加载和绘制

初探窗口在知道Activity的生命周期调用时机之后,这些都太抽象了,到底我们看到的界面是怎么加载出来的才是最感兴趣的,这里面就主要涉及Activity的Window对象了,具体是什么机制呢?

2016-11-22 16:33:33 1723 0

原创 Android Activity启动流程源码全解析(2)

接上之前的分析++Android Activity启动流程源码全解析(1)++

2016-10-21 14:50:23 1285 0

原创 Android Activity启动流程源码全解析(1)

前言Activity是Android四大组件的老大,我们对它的生命周期方法调用顺序都烂熟于心了,可是这些生命周期方法到底是怎么调用的呢?在启动它的时候会用到startActivty这个方法,但是这个方法的背后是怎样来实现的呢,来看看源码一探究竟(API23,无关代码省略)

2016-10-21 14:49:13 1069 0

原创 Android应用进程启动流程(Zygote进程与SystemServer进程)

Android系统是基于Linux的,所以它的所有应用也是基于Linux的Init进程创建出来的,首先Init进程启动Zygote(受精卵)进程,然后再fork出其他进程(包括SystemServer),最后开启各种应用进程。

2016-09-23 16:38:34 1814 1

原创 梳理Android的IPC进程间通信(最新AndroidStudio的AIDL操作)

前言前面梳理了Android的线程间的通信《Thread、Handler和HandlerThread关系何在?》,这些都是在同一个进程中,那进程间的通信,或者说不同的应用间的通信该如何实现呢?这个时候就要用到AIDL(*Android Interface Definition Language*A...

2016-09-12 16:33:22 805 0

原创 Thread、Handler和HandlerThread关系何在?

前言前几天看到一道面试题:Thread、Handler和HandlerThread有什么区别?,这个题目有点意思,对于很多人来说,可能对Thread和Handler很熟悉,主要涉及到Android的消息机制(Handler、Message、Looper、MessageQueue)

2016-09-02 15:56:13 8460 2

原创 深入探究getApplicationContext和getApplication是不是返回同一个对象?

前言在上篇文章从getApplicationContext和getApplication再次梳理Android的Application正确用法中,我提到 但是我们知道了mApplication和context是两个不同的东西,所以严格意义上来说getApplicationContext和get...

2016-08-05 12:04:48 3248 1

原创 从getApplicationContext和getApplication再次梳理Android的Application正确用法

Context在Android开发的时候,很多地方我们都会用上Context这个东西,比如我们最常用的startActivity,以前也没怎么在意这个到底有什么用,方法要参数就直接传过去,今天看到getApplicationContext和getApplication有点懵逼,我觉得有必要去一探究...

2016-08-03 17:13:51 4887 6

原创 Android显示webview加载的网页源码

为webview添加一个js接口(定义一个Handler)

2016-03-18 17:22:05 3655 0

原创 分析android或java项目流程

这里的学习分为快速掌握和全部项目分析,开源项目 Android 一般分为完整项目(App)和工具库,分析的话可概括为总分总: 1 总 —- 功能了解了解项目功能(Sample 和文档)以及主要分为几个大块。另外明白你的需求,比如 PullToRefresh 的下拉实现 。 PS:(1)大家可以...

2015-05-28 11:49:47 836 0

转载 Android 混淆代码总结

为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤: 1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过来 2. 最重要的就是在p...

2015-05-27 23:40:54 1363 0

原创 VIM编辑器的基本概念与使用

1、vi的基本概念基本上vi可以分为三种状态,分别是 命令模式(command mode) 插入模式(Insert mode) 底行模式(last line mode) 1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,...

2015-05-27 23:31:56 619 0

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