Android源码学习
正义啊
安卓工程师
展开
-
ListView源码阅读
listview的源码在此之前看过也不止一次了,但是现在想想好像也就停留在看过的样子,除此之外就没啥印象了。想想之前就是在瞎看,毕竟ListView加上AbsListview有一万多行代码了,瞎看的话确实啥都看不出来啥的。所以这次看的话我就带着几次问题来看就行了,毕竟把1万多行代码看完对很多人来说是不现实的。带着下面几个问题,再次看一下Listview源码:Listview的适配器模式A...原创 2020-01-17 10:53:57 · 385 阅读 · 0 评论 -
EventBus与反射
我发现看一段代码,可能当时看的会有点模糊,但过一段时间回来再看的时候会忽然有一种:噢,原来是这么回事的感觉。今天看EventBus源码的时候也有这种感觉。基本用法1、注册 EventBus.getDefault().register(this); @Subscribe(threadMode = ThreadMode.MAIN) public void onTestEve...原创 2020-01-07 09:46:54 · 385 阅读 · 0 评论 -
Service启动流程
相对于Activity而言,Service就显得神秘了很多。因为Service一般都是在后台默默运行的。今天就来看看Service的启动流程。Service的启动方式我们知道Service有两种启动方式。startServicebindService不同启动方式Service的生命周期方法也存在不同:1、startService方式启动生命周期:onCreate -> on...原创 2019-11-30 14:07:05 · 693 阅读 · 0 评论 -
Activity的启动流程
Activity是Android应用与用户交互的界面,了解Activity的启动流程可以加深我们对Activity理解。sdk版本25一、发起启动Activity的请求通常我们会通过startActivity()来打开一个新的Activity。 startActivity(new Intent(this, SecondActivity.class));1、Activity & ...原创 2019-11-27 16:35:59 · 336 阅读 · 0 评论 -
AsyncTask源码解析
AsyncTask使用方法AsyncTask是抽象类,所以使用的时候只能使用j继承它的子类。 private class MyAsyncTask extends AsyncTask<Void,Integer,String>{ @Override protected void onPreExecute() { super....原创 2018-03-16 16:03:31 · 154 阅读 · 0 评论 -
Retrofit2 源码阅读
使用Retrofit作为Android网络请求已经非常普遍了,并且Retrofit的源码不仅少而且还很精妙,作为阅读学习的对象在合适不过了。基本用法要了解一个框架的源码,肯定要知道它的基本用法。然后从基本用法里选择一个入口方法,这样就可以跟着用法读下去了。1、定义请求接口public interface GitHubService { @GET("users/{user}/repo...原创 2019-08-13 14:44:52 · 165 阅读 · 0 评论 -
Handler消息机制源码阅读
Android中,线程间通信最常见的方式是使用Handler消息机制。Handler 和 Looper、Message、MessageQueue 共同协作组成一个完整的Handler消息机制。下面我们通过源码来看看Handler是如何完成消息的收发的。常见用法先来看一下常见用法,然后跟着用法一步步在阅读源码。1、初始化一个Handler对象 private Handler mHand...原创 2019-08-19 22:34:12 · 243 阅读 · 0 评论 -
OkHttp源码浅析
OkHttp也用了几年了,但其实也一直停留在会用的层面上,今天就来看看OkHttp里面又是怎样工作的吧。(能力有限,不会做特别细节和深入的阅读)基本使用我一般阅读源码的入口都是从一些基本方法开始的,这样不会迷失在源码里,就算迷失了,也可以跟着用法在回来。1、创建 OkHttpClient 对象。 OkHttpClient mOkHttpClient; mOkHttpClient = ...原创 2019-09-09 15:55:08 · 169 阅读 · 0 评论