Android框架
被代码淹没的小伙子
一个天天做着大神的梦的Android开发者
[github]:https://github.com/DrownCoder
[简书]:https://www.jianshu.com/u/9dbc9b308ddb
展开
-
ImageLoader加载本地图片的实现————防OOM
这段时间,项目功能做完了,但是一直被OOM的问题困扰,在同样的代码在模拟机上可以运行,但在真机上却无法运行,报OOM,于是,最近开始接触关于OOM的相关问题,今天先总结一下关于ImageLoader的实现。 实现ImageLoader主要用到了下面几个知识点: 1.缓存LruCache。 2.线程池ExecutorService。 3.算法实现调度方式优化:LIFO(后进先出),FIFO(先原创 2016-04-15 10:04:43 · 2284 阅读 · 2 评论 -
色彩天气APP-MVP初体验
色彩天气APP-MVP初体验一直理论上看mvc,mvp,mvvm,但是实际上总是用的mvc,没有真正意义上写过mvp的代码,所以实际动手写了一个用mvp实现的小项目。技术点介绍1.mvp模式 2.原生retroft2 3.百度sdk 4.自定义View 5.sqllite功能介绍1.根据ip,通过百度sdk定位城市 2.获得城市天气,支持天气预报 3.查询城市 4.本地备份已查询的城市原创 2017-08-15 20:19:00 · 496 阅读 · 0 评论 -
Volley源码分析(一)
Volley源码分析(一)第一次一行一行读源码,记录下来,慢慢来1.Volley.class用过Volley的都知道使用Volley的第一步需要使用Volley.newRequestQueue方法创建一个RequestQueue。所以就从这开始吧。 public class Volley {/** Default on-disk cache directory. */ private static原创 2017-08-16 20:49:08 · 324 阅读 · 0 评论 -
Volley源码分析(二)
Volley源码分析(二)上一篇分析完了Volley.newRequestqueue()方法。方法最后执行到了requestqueue.start()方法 /** * Starts the dispatchers in this queue. */ public void start() { //停止当前所有线程 stop(); // M原创 2017-08-22 20:37:14 · 304 阅读 · 0 评论 -
Volley源码分析(三)
Volley源码分析(三)上一篇分析完了RequestQueue的大部分方法,add执行完后,Volley就会执行线程操作了,在第一篇博客中提到,star方法执行时会创建1个缓存线程(CacheDispatcher)和4个网络线程(NetworkDispatcher),并开始这5个线程。这里我们就先看缓存线程。public class CacheDispatcher extends Thread {原创 2017-08-28 21:00:54 · 420 阅读 · 0 评论 -
XVolley-基于Volley的封装的工具类
XVolley-基于Volley的封装的工具类前面几篇博客分析了Volley的源码,加上最近在看《Head First设计模式》这本书(不得不说老外的书是真的不错,推荐),于是基于鸿洋大神的OkhttpUtil的源码,加上自己的理解,封装了这么一个工具类。一、功能1.GET 2.POST 3.post传json 4.post传文件(不支持大文件类型) 5.自定义拦截器 6.gson 7.原创 2017-09-18 20:08:21 · 604 阅读 · 0 评论 -
okhttp源码分析(二)-RetryAndFollowUpInterceptor过滤器
1.okhttp源码分析(一)——基本流程(超详细) 2.okhttp源码分析(二)——RetryAndFollowUpInterceptor过滤器 3.okhttp源码分析(三)——CacheInterceptor过滤器 4.okhttp源码分析(四)——ConnectInterceptor过滤器 5.okhttp源码分析(五)——CallServerInterce...原创 2017-10-09 20:03:17 · 595 阅读 · 0 评论 -
ShapeBuilder-你还在每次写一个Shape文件吗?
不知道大家有没有过这样的烦恼,打开Drawable文件夹下到处都是各式各样的shape定义,其中不乏有一模一样的样式,但只是名字不同,或者仅仅只是radius,color不同,但每次一有边框,圆角,点击效果等都需要定义一个新的shape,今天这个页面圆角要2dp,明天一样的又要4dp,或是颜色的变化都需要我们重新写一个shape.xml,至少我每次写的时候都有点受不了,为了避免每次这样做重复的定义...原创 2018-03-17 18:34:06 · 1263 阅读 · 0 评论