- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 关于Activity你必须掌握的知识(本篇基于8.0去分析)
文章目录1. Activity启动模式以及使用场景?2. taskAffinity属性3. onSaveInstanceState()和onRestoreInstanceState()4. onConfigurationChanged()属性屏幕旋转5. (主要)Activity 到底是如何启动的1. 涉及的类名介绍:2. Launcher请求AMS的过程3. AMS到ActivityThr...
2019-03-20 16:32:29 1040
原创 从源码角度去学习Glide
文章篇幅较多.建议配合源码阅读并且有空闲时间去理解Glide基本使用 RequestOptions options = new RequestOptions() .placeholder(R.mipmap.ic_launcher) //占位图 .error(R.mipmap.ic_launche...
2019-09-24 17:24:42 269
原创 Android 网络篇章(一) 全面解析Volley源码 (--小老弟你终于来了--)
1. Volley的使用 RequestQueue queue = Volley.newRequestQueue(getApplicationContext()); //第一步 StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {...
2019-04-25 15:42:46 257
原创 热修复原理-你想知道的都在这里
本篇文章不会教你如何去使用某一个热修复框架,而是教会我们热修复的原理,只有明白原理,使用框架的时候才能做到水到渠成.事半功倍的效果.产生背景刚发布的版本出现bug,解决bug后,测试并且打包在各个市场发布,用户再更新,如果短时间出现n个bug怎么办…有一小得功能需要添加,需要在短时间完成版本覆盖,目前主流的热修复框架对比类别成员阿里系AndFix De...
2019-04-16 20:51:45 328
原创 View的事件分发机制,你想要的都在里面
重新认识LayoutInflater文章目录重新认识LayoutInflaterView的事件分发View的dispatchTouchEventView的onTouchEventViewGroup的事件分发ViewGroup#dispatchTouchEvent拦截事件如何不拦截如果没有合适的子View**1、ACTION_DOWN的时候,子View.dispatchTouchEvent(ev...
2019-04-09 15:47:13 172
原创 关于Service总结知识
前言,这些天一直在看一些以前学过的知识,突然发现好多以前的旧知识都忘记了,特此记录下来,此篇会一直更新下去.StartServiceintent = new Intent(this, MyService.class); startService(intent); //开启@Override protected void onDestroy() { ...
2019-03-27 11:38:24 355
原创 Handler都搞不懂,有什么勇气去跳槽?
1:谈谈handler,Loop ,Messag三者Handler消息辅助类,主要向消息池发送和处理事件Message: 传递消息,Looper 不断循环执行, 从消息队列中读取消息,按消息分发机制分发给目标者handler内部通过Message发送一个消息给looper looper内部通过死循环得到message传递的消息,通过MessageQuen.next得到传递来的Messag...
2019-03-18 16:14:19 144
原创 OKHttp3源码分析——学习笔记
文章目录1. HttpClient与HttpUrlConnection的区别2. OKHttp源码分析使用步骤:dispatcher任务调度器,Request请求RealCallAsyncCall3. OKHttp架构分析1. 异步请求线程池, Dispather2. 连接池清理线程池- ConnectionPool3. 缓存整理线程池 DisLruCache4. Http2异步事务线程池, ht...
2019-03-07 11:45:12 1090
原创 2018年度总结之生活新体验
回顾2018年,可以用人生的大起大落来形容,在这一年之中经历了许多事情,苦乐并存,期间经历过南北方的生活环境,也经历了私企和国企的熏陶,有放纵,有认真,有痛苦也有欢笑,前半年置身在国企之中,体验了生活中的人事关系, 人生第一次参加年会的舞蹈排练,期间尴尬巨多,但是最终还是坚持的完成了这个节目的排练. 完成了在国企中的第一个项目(编程中独立的第二个项目) . 遇到许...
2019-01-22 10:43:19 241
原创 RXJava 全面学习笔记(下)
背压策略观察者&被观察者异步订阅,存在被观察者发送事件速度与观察者接受事件速度不匹配的情况, 主要发送事的事件速度>观察者接收事件速度存在的问题被观察者发送事件速度太快,而观察者来不及接收所有事件,从而导致观察者无法及时响应/处理所有发送过来事件的问题,最终导致缓存区移除,事件丢失&OOM 如连续点击事件10次,只会造成2次的效果;由于被观察者发送事件速度>...
2018-12-21 14:23:11 174
原创 RXJava 全面学习笔记(中)
目录文章目录线程控制(切换/调度)功能性的操作符过滤操作符功能防抖联想搜索功能条件/布尔操作符线程控制(切换/调度)线程控制的作用: 指定被观察者(observable) 和observer(观察者)的工作线程类型线程控制的背景: 在RxJava模型中,被观察者(observable)和观察者(observer)的工作线程=创建自身的线程即若被观察者在主线程中被创建,那么他们的...
2018-12-20 14:27:50 278
原创 RXJava2 全面学习笔记 (上)
本篇文章主要是一份学习笔记 感谢博主:https://www.jianshu.com/u/383970bef0a0
2018-12-19 11:25:21 608
转载 retrofit2.0源码分析 _学习笔记
感谢作者提供的优选文章retrofit一般请求流程图解创建retrofit实例得到Retrofit对象Retrofit retrofit = new Retrofit.Builder() .baseUrl(&quot;http://fanyi.youdao.com/&quot;) ...
2018-12-06 15:29:09 203
原创 关于tinker的使用详细记录
tinker简介 前言:早起熟悉过hotfix修复框架,但是时代在进步,tinker官网有一句话&amp;amp;quot;tinker是微信的热更新框架,微信用户过2亿,你为什么不尝试使用呢&amp;amp;quot;这里分享二种集成方式,gradle 和eclipse首先 Android studio的集成方式将tinker-gradle-plugin添加为build.gradle项目根目录中main的依赖项: builds...
2018-11-08 17:51:54 680
原创 lib/arm/libVoAACEncoder.so has text relocations问题的解决方案
前言 这几天维护新公司的项目, 拿到项目看了一眼.心中千万个草泥马奔腾....这尼玛我那时候还在高考呢.. targetSdkVersion还是停留在19.既然来上班了.心里放心那些纠结,开始改吧.(心里很不请愿,但是为了生活我就忍下来..)首先进行6.0的权限适配,没有任何难度的完成.. 7.0的文件共享,也没有问题.升级项目中用到的jar包(旧项目开发环境是eclipse) 那么重...
2018-11-01 11:32:04 9298 1
原创 RXJAVA2x 心得记录
RXJava的初窥 1.RxJava是Reactive Extensions的Java VM实现:一个用于通过使用可观察序列来编写异步和基于事件的程序的库,然而,对于初学者来说,这太难看懂了。因为它是一个『总结』,而初学者更需要一个『引言』。其实, RxJava 的本质可以压缩为异步这一个词。说到根上,它就是一个实现异步操作的库,而别的定语都是基于这之上的。2.RxJava 有四个基本概...
2018-10-24 09:10:27 207
原创 小白成长记(五)—— Kotlin 类和对象
目录 一丶类定义二丶类的属性 三丶抽象类四丶嵌套类 五丶内部类六丶匿名内部类七丶类的修饰符 八丶field 关键字一丶类定义Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。Kotlin 中使用关键字 class 声明类,后面紧跟类名:class Runoob { // 类名为 Runoob // 大括号...
2018-10-09 19:22:34 142
原创 小白成长记(四)—— Kotlin基础数据类型
本文摘自 Kotlin 基础语法 用来记录自己学习的过程.Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于Java的是,字符不属于数值类型,是一个独立的数据类型。 一.常量十进制:123 长整型以大写的 L 结尾:123L 16 进制以 0x 开头:0x0F 2 进制以 0b 开头:0b00001011 注意:...
2018-09-25 19:23:48 172
原创 Android简单接入Vitamio以及简单问题处理
昨天修改公司的项目时,用到vitamio,遇到几个小问题.特此记录下来帮助需要帮助的小伙伴,集成这里直接按照最简单的方式进行集成 下载项目 Github 集成项目 将VitamioBundle集成到自己的项目中,集成方法很简单,该项目本身就是通过Gradle构建的,因此使用AS直接将vitamio作为Module导入项目中,并且添加项目的依赖即可。 配置参...
2018-09-17 12:15:48 1077
原创 小白成长记(三) —— Kotlin基础语法
在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。虽然时隔一年但是我们现在学习还不算太迟.一丶声明变量一次赋值(只读)的局部变量: var: 任意类型 val: 常量val a: Int = 1 // 立即赋值val b = 2 // 自动推断出 `Int` 类型val c: Int // 如果没有初始值类...
2018-09-13 15:17:31 166
原创 小白成长记(二)——入坑Kotlin 环境配置
一、Kotlin 入门环境配置, 1.首先 File—>setting--->Plugins—>browseRepositories 2.创建Kotlin项目选择 Start a new Android Studio project 或者 File | New project,大多数选项均有默认值 ,只需要按几次"回车"键即可。Android Studio 3.0...
2018-09-07 17:57:49 260
原创 小白成长记(一)——使用easyPermisions框架申请动态权限
Android M(6.0)以上是动态权限,google官方推出了一个开源项目EasyPermissions 来方便集成动态权限的功能。 EasyPermissions 的github地址是:https://github.com/googlesamples/easypermissions 。基本用法依赖EasyPermissions 通过在build.gradle写入下面的依赖,来...
2018-08-29 20:00:11 824
原创 无法找到android.os.SystemProperties解决办法
Android Studio解决办法如下:在app的build.gradle中添加以下内容:android { ...... //以下是为了找到android.os.SystemProperties这个隐藏的类 String SDK_DIR = System.getenv("ANDROID_SDK_HOME") //("TAG", "SDK_...
2018-08-28 15:04:17 6263
原创 Android 学习笔记之view点击事件的传递规则
前言 所谓的点击事件的事件分发,其实就是对MotionEvent事件的分发过程,即当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的view,而这个过程就是分发过程。点击事件的分发过程由三个很重要的方法来完成 dispatchTouchEvent 、onInterceptTouch和onTouchEvent共同来完成。1.public boolean dispat...
2018-07-23 10:53:43 644
原创 Android 7.0以上时使用recycleview发现Item显示不全
前几天项目终于到一个问题,API在23以上时候recycleview里面嵌套一个recycleview,它的item显示不全,最后找到其解决办法。如下为你的RecyclerView上再嵌套一层RelativeLayout然后添加属性 android:descendantFocusability="blocksDescendants",android:descendantFocusability...
2018-03-22 16:26:55 2802
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人