源码
Gdeer
这个作者很懒,什么都没留下…
展开
-
为什么 Dialog 不能用 Application 的 Context
抛出的异常:Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an applicationat android.view.ViewRootImpl.setView(ViewRootImpl.java:685)at android.view...原创 2020-04-05 10:44:10 · 467 阅读 · 0 评论 -
Retrofit 源码解析
文章目录一、名词解释二、使用三、原理四、问题一、名词解释Service:定义的接口类ServiceMethod:Service 中的方法Call<R>:参数类型是 R 的 Call,实际发起网络请求的类responseType(R):Call<> 的参数类型;如 Call<AClass> 的 responseType 为 AClassCallAdap...原创 2020-02-25 21:30:19 · 194 阅读 · 0 评论 -
ARouter 源码解析
一、名词解释Postcard:明信片,用于发起启动请求path:指定一个请求的路径:如 /modulea/homegroup:path 的分组,为 path 中的第一个节点:如 moduleaRouteMeta:存储基础路由数据(如 Activity 类对象等)xxxService:接口,用于提供某种功能,继承了 IProvider 接口;如要使用,需自己实现接口routes:path...原创 2020-02-21 17:23:51 · 260 阅读 · 0 评论 -
ListView 嵌套 ListView,为什么里面的 ListView 不能滑动
ListView 嵌套 ListView,child 是不能滑动的,为什么呢?我们来看看。文章目录一、源码分析二、结论2.1 不做处理的 ListView 嵌套 ListView2.2 重写父 ListView 的 onInterceptTouchEvent(),使其返回 false一、源码分析ListView 的滚动在 scrollIfNeeded() 方法中实现。scrollIfNee...原创 2019-12-27 16:19:49 · 640 阅读 · 0 评论 -
ListView item 的 margin 没生效
文章目录结论原因普遍情况inflate 阶段addView 阶段ListViewinflate 阶段addView 阶段没传 parent传了 parent,parent 不是 listView传了 parent,parent 是 listview结论inflate(id, null)宽高、margin 都不生效inflate(id, parent, false)宽高生效,marg...原创 2019-08-23 13:50:59 · 606 阅读 · 0 评论 -
Activity 启动时间
启动 Activity 时,ActivityManager 会自动打印:06-25 15:09:32.519 1440-1502/? I/ActivityManager: Displayed com.gdeer.hub/.MainActivity: +1s412ms (total +1s978ms)在 ActivityRecord 的 reportLaunchTimeLocked 方法中执行...原创 2019-06-25 13:06:28 · 1238 阅读 · 0 评论 -
RxJava2 理解:建厂三部曲
过程:建厂签约开工简单的例子java 实现:String[] ps = {"p1", "p2", "p3"};for (String p : ps) { System.out.println(p);}改为 rxjava 的实现:Observable.just("p1", "p2", "p3").subscribe(new Consumer<String...原创 2019-04-19 18:04:09 · 182 阅读 · 0 评论 -
RxJava2 理解:Scheduler
文章目录一、自定义 Scheduler二、Scheduler2.1 Worker三、Schedulers四、IoScheduler一、自定义 Schedulerpublic class MySchedulor extends Scheduler { @Override public Worker createWorker() { return null; ...原创 2019-04-19 16:27:29 · 581 阅读 · 0 评论 -
Retrofit 源码解析
本文基于 Retrofit 2.5Retrofit :改造改造了什么呢?把一个 Http 请求转化为一个 Java 接口的调用。文章目录一、简单使用二、一次调用2.1 InvocationHandler.invoke()2.1.1 创建 ServiceMethod2.1.1.1 创建 requestFactory2.1.1.2 创建 callFactory2.1.1.3 创建 call...原创 2019-04-14 23:06:21 · 197 阅读 · 0 评论 -
Activity 启动流程 api 25
Activity 生命周期的处理:schedulehandleperformonCreate 的调用流程:startActivity【Activity】startActivityForResult mInstrumentation.execStartActivity【Instrumentation】 ActivityManagerNative.getDefa...原创 2019-04-08 21:58:03 · 231 阅读 · 0 评论