- 博客(12)
- 收藏
- 关注
原创 源码分析glide中三层存储机制并与常规三层缓存机制对比
转载请注明出处: 源码分析glide中三层存储机制并与常规三层缓存机制对比 地址:http://www.jianshu.com/p/dc8fcf7e69bc目录常规三层缓存机制三级缓存的流程强引用->软引用->硬盘缓存当我们的APP中想要加载某张图片时,先去LruCache中寻找图片,如果LruCache中有,则直接取出来使用,如果LruCache中没有,则去SoftReference中寻找
2017-11-01 12:37:58
708
原创 Gradle升级4.1(插件3.0.0)变化了哪些东西,需要做哪些改变。
Gradle升级4.1(插件3.0.0)变化了哪些东西,需要做哪些改变。转载请注明出处: Gradle升级4.1(插件3.0.0)变化了哪些东西,需要做哪些改变。 地址:http://www.jianshu.com/p/d372cc6802e5目录前言gradle升级4.1(插件3.0.0,as 3.0.0)改了不少的东西,尤其是依赖的变化。所以我们还是需要了解一下,对以后添加依赖库/改动bui
2017-10-30 11:13:36
6834
原创 android gradle 4.1以上依赖的改变:compile->api和implementation
转载请注明出处: android gradle 4.1以上依赖的改变:compile->api和implementation 地址:http://www.jianshu.com/p/d372cc6802e5提前准备升级到gradle插件(gradle-tools)3.0.0:需要gradle版本升级到4.1以上。android studio版本升级到3.0.0以上。依赖使用api和impl
2017-10-25 19:16:19
6934
3
原创 如何实现一个独立于网络请求框架的缓存(与retrofit无缝衔接)
转载请注明出处: 如何实现一个独立于网络请求框架的缓存(与retrofit无缝衔接) 地址:http://www.jianshu.com/p/d372cc6802e5目录1 前言这次说下怎么实现一个与retrofit的网络请求框架无缝衔接的缓存。这个需要的提出是这样的:猫眼/美团/点评使用的网络请求的client并不一致,猫眼使用的是okhttp,美团/点评使用的是Shark 长连接。长连接自带
2017-10-24 16:57:40
805
原创 源码分析glide对线程中断的优化
转载请注明出处: 源码分析glide对线程中断的优化 地址:http://www.jianshu.com/p/d372cc6802e5目录android中我们需要很小心对待线程的创建取、监听、取消。如果不小心处理,可能就会引入内存泄漏,监听的生命周期与宿主不一致导致crash,频繁创建线程对资源的消耗,线程无意义的运行等问题。那么这里对于线程中断,源码分析一下glide对其的优化。对于线程创建
2017-10-20 17:19:44
983
原创 Dalvik下mutidex加载(只是总结备用,并没有分析源码)
mutidex之前度过源码,其实并不难。这里做个总结,自己以后备用(比如mutidex异步加载,插件化等,dex动态加载还是挺重要的)。大家如果想分析下源码,也可以看下MultiDex工作原理分析和优化方案这个博客,分析的很到位。我这里就不赘述了。Dalvik在安装的时候只会把主dex放到classLoader中类型是DexPathList的成员变量pathList。DexPathList持有Dex
2017-10-16 18:51:56
451
原创 Viewholder内部会议纪要以及fragment相关知识总结
内部组会上讲了一下viewHolder在解耦方面的应用( 使用ViewModel解耦页面(含源码分析))。在讲解和讨论过程中,发现对fragment的一些知识点理解不到位。会后查看了相关的知识点并总结了一下:使用 Viewholder方式:ViewModelProviders.of(宿主activity).get(A.class) 其中A extend ViewHolder用处:一个activty内
2017-10-16 14:00:55
855
原创 使用ViewModel共享页面内的数据:ActivityDataBus
使用ViewModel解耦页面(含源码分析)转载请注明出处: 使用ViewModel解耦页面(含源码分析) 地址:http://www.jianshu.com/p/d372cc6802e5目录1. ViewModel源码解析我们从ViewModelProvider入手。 ViewModel通过ViewModelProvider的 * Returns an existing ViewModel
2017-10-10 17:27:07
12700
原创 谷歌官方mvp介绍
转载请注明出处: 谷歌官方mvp介绍 地址:http://www.jianshu.com/p/d372cc6802e5目录前言这个wiki是我很早之前看mvp框架时候写的,之前没发到网上,现在也贴上吧。现在来看,这个框架并不适合 大量的业务实用,因为fragment实在是太重了,并不利于页面中业务的模块化。可以看下我的这一篇博客,对这个mvp框架的改进: android 官方mvp框架优化:l
2017-09-19 12:01:49
753
原创 Lifecycle-aware Components google官方生命周期组件
Lifecycle-aware Components 组件转载请注明出处: android 官方mvp框架优化:lifecycle-mvp,像前端那样组合式写页面地址:http://www.jianshu.com/p/d372cc6802e5目录很多情况下,业务模块需要activity的生命周期,由此会产生很多级联耦合。google官方提供了Lifecycle-aware 组件可以帮助我们去掉这
2017-09-18 15:15:39
1974
原创 android 官方mvp框架优化:lifecycle-mvp,像前端那样组合式写页面
转载请注明出处: android 官方mvp框架优化:lifecycle-mvp,像前端那样组合式写页面 地址:http://www.jianshu.com/p/d372cc6802e5目录1 前言虽然在标题上,自己很随意的起了这么一个名字。其实并不是说它起个英文名就牛逼了。说白了,它其实就是mvp的思想加了lifecycle-component,然后加入了分层的思想,最后用TypeFactor
2017-09-17 21:55:53
2939
1
原创 美团猫眼android模块化实战-可能是最详细的模块化实战
写这篇博客的初衷首先一句话概括:我想把这几个月做的事情记录下来,并且希望尽量详细,希望读者读了这篇文章能够知道模块化具体每个步骤都做什么,而不是大致的了解。 现在很多人都在谈模块化,网上有一大堆的博客实践都在讲这个。很多谈的只是模块与模块之间的解耦,并且大部分讲的是通过router路由进行解耦,其他谈的不多,而且不乏泛泛而谈。但将一个app真正做到解耦,运行。需要解决的事情远远不止解耦。
2017-09-12 18:51:23
13668
12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人