Android源码解惑
文章平均质量分 87
梦里梦到醒不来的梦里
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从getApplicationContext和getApplication再次梳理Android的Application正确用法
Context在Android开发的时候,很多地方我们都会用上Context这个东西,比如我们最常用的startActivity,以前也没怎么在意这个到底有什么用,方法要参数就直接传过去,今天看到getApplicationContext和getApplication有点懵逼,我觉得有必要去一探究竟了,首先看看什么是Context:Context,翻译为上下文,环境。原创 2016-08-03 17:13:51 · 5729 阅读 · 6 评论 -
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
转载请注明出处http://blog.youkuaiyun.com/ly502541243/article/details/52062179Handler每个初学Android开发的都绕不开Handler这个“坎”,为什么说是个坎呢,首先这是Android架构的精髓之一,其次大部分人都是知其然却不知其所以然。今天看到Handler.post这个方法之后决定再去翻翻源代码梳理一下Handler的实现机制原创 2016-07-29 10:25:53 · 52025 阅读 · 17 评论 -
解锁Android点击事件分发机制
开头说说初衷网上关于点击事件分发的文章一搜一大堆,标题一看,不是“30分钟让你弄明白XXX”就是“这是讲解XXX最好的文章”,满怀憧憬与信心,忍不住兴奋的点进去一看,发现不是代码就全是图,我基本上看完了所有相关的文章,结果硬是看了三个小时也没搞懂。所以最后还是决定自己去试一试,看一看点击事件分发到底是怎么个流程原创 2017-12-19 15:06:43 · 1323 阅读 · 0 评论 -
从源码来看ItemTouchHelper实现RecyclerView列表的拖拽和侧滑
RecyclerView是一个用来替换之前的ListView和GridView的控件,使用的时候,虽然比以前的ListView看起来麻烦,但是其实作为一个高度解耦的控件,复杂一点点换来极大的灵活性,丰富的可操作性,何乐而不为呢。不过今天主要说说它的一个辅助类ItemTouchHelper来实现列表的拖动和滑动删除。原创 2017-05-12 11:35:04 · 1616 阅读 · 0 评论 -
Activity界面的加载和绘制
初探窗口在知道Activity的生命周期调用时机之后,这些都太抽象了,到底我们看到的界面是怎么加载出来的才是最感兴趣的,这里面就主要涉及Activity的Window对象了,具体是什么机制呢?原创 2016-11-22 16:33:33 · 2080 阅读 · 0 评论 -
Android Activity启动流程源码全解析(1)
前言Activity是Android四大组件的老大,我们对它的生命周期方法调用顺序都烂熟于心了,可是这些生命周期方法到底是怎么调用的呢?在启动它的时候会用到startActivty这个方法,但是这个方法的背后是怎样来实现的呢,来看看源码一探究竟(API23,无关代码省略)原创 2016-10-21 14:49:13 · 1345 阅读 · 0 评论 -
Android Activity启动流程源码全解析(2)
接上之前的分析++Android Activity启动流程源码全解析(1)++原创 2016-10-21 14:50:23 · 1544 阅读 · 0 评论 -
Android应用进程启动流程(Zygote进程与SystemServer进程)
Android系统是基于Linux的,所以它的所有应用也是基于Linux的Init进程创建出来的,首先Init进程启动Zygote(受精卵)进程,然后再fork出其他进程(包括SystemServer),最后开启各种应用进程。原创 2016-09-23 16:38:34 · 2153 阅读 · 1 评论 -
AsyncTask你真的用对了吗?
在之前的文章深入探究了Handler,《从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)》我们知道了Android的消息机制主要靠Handler来实现,但是在Handler的使用中,忽略内存泄露的问题,不管是代码量还是理解程度上都显得有点不尽人意,所以Google官方帮我们在Handler的基础上封装出了AsyncTask。原创 2016-08-26 16:40:44 · 16129 阅读 · 0 评论 -
Thread、Handler和HandlerThread关系何在?
前言前几天看到一道面试题:Thread、Handler和HandlerThread有什么区别?,这个题目有点意思,对于很多人来说,可能对Thread和Handler很熟悉,主要涉及到Android的消息机制(Handler、Message、Looper、MessageQueue)原创 2016-09-02 15:56:13 · 9873 阅读 · 2 评论 -
梳理Android的IPC进程间通信(最新AndroidStudio的AIDL操作)
前言前面梳理了Android的线程间的通信《Thread、Handler和HandlerThread关系何在?》,这些都是在同一个进程中,那进程间的通信,或者说不同的应用间的通信该如何实现呢?这个时候就要用到AIDL(*Android Interface Definition Language*Android接口定义语言 )。使用方法(AndroidStudio)我发现现在AIDL的教程基本上还是e原创 2016-09-12 16:33:22 · 1012 阅读 · 0 评论 -
深入探究getApplicationContext和getApplication是不是返回同一个对象?
前言在上篇文章从getApplicationContext和getApplication再次梳理Android的Application正确用法中,我提到 但是我们知道了mApplication和context是两个不同的东西,所以严格意义上来说getApplicationContext和getApplication是不一样的,虽然很多时候他们返回的都是同一个对象原创 2016-08-05 12:04:48 · 4225 阅读 · 1 评论 -
一个线程可以有几个Looper?几个Handler?从Looper.prepare()来看看关于Looper的一些问题
前言之前我有篇文章里面写到了Android的消息机制,Handler发送消息的一些原理。链接如下:从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)在消息机制里面,有一个非常重要的东西,那就是Looper,Looper的作用主要是从消息队列里面取出消息交给Handler处理,不过不仅限于此,在这里面还有很多东西值得我们去...原创 2019-02-18 11:06:14 · 11204 阅读 · 9 评论
分享