Android |

Android 中的长图片处理

作者:Joe 审阅者:Melo,用语 最近太忙了,好久没有写东西了,itsCoder 也缺席了一期,感觉自己也好久没有学习新的东西了。不管再忙还是应该抽出时间来学习和锻炼,不然时刻感觉身体被掏空啊~ 前言图片处理在 Android 开发中是一个比较重要的技术,处理稍有不慎就可能会出现 oom 等情况,网上也有很多图片处理相关的文章,我在Volley 中的ImageLoader源码学习笔记这篇文章中也分析了一些解决方案。同时开源社区也有一些优秀的图片处理框架-Glide,F ...

  • Joe
    Joe
11 min read
Android源码学习 |

对 SharedPreferences 再多一点了解

作者:Joe 审阅者:HugoXie、 allen 序言相信很多人面试的时候被问到过 Android 中的数据持久化,其中有一个方法就是使用 SharedPreferences 来保存一些简单的数据到本地。如果你对 SharedPreferences 还不了解,建议先阅读官方文档,再写个小 demo 实践一下。 SharedPreferences 用的比较多的同学可能知道,在 API9 以后加入了一个新的方法 apply() ,官方文档中可以看到在不关心返回值的情况下尽量 ...

  • Joe
    Joe
46 min read
Android |

Activity 共享元素转场动画实践

作者:Joe 审阅者:Brucezz 前言上次碰到个需求,要从 Feed 页以 item 放大的动画打开第二个页面,先来看一个效果: 就是这样一个转场动画~有了思路后要实现起来还是不难 思路1.API一般我在需要实现某个功能的时候,会首先寻找 Android 是否已经提供了相关的 Api ,这样可以避免盲目的造轮子,尤其对于项目来说,时间成本还是很重要的,而且 Android 提供的 Api 使用起来一般也会更简单易于维护。 事实上在 Android 5.0 确实提供了 ...

  • Joe
    Joe
25 min read
Tools |

优雅的管理你的文稿

序言在我没做码农前,经常需要写各种论文,报表之类的文稿。有一个非常苦恼的困扰就是,写完了一个版本后,要在这版本基础上改动,就复制一份,时间长了以后电脑上各种 1.0、2.0、3.0…一团遭,为了保持整洁就删除了一些认为以后用不到的,结果后面突然要用,这种痛我想很多人都有。还有跟别人一起写文稿的时候,明明是他写的,后来甩锅给我,那种委屈简直了。 做了码农后,我发现有很多工具,即使你不写代码,熟练使用后,也会大大改善你的工作效率~,今天教大家如何优雅的管理你的文稿。 目标如果你 ...

  • Joe
    Joe
15 min read
Android源码学习 |

SparseArray 的使用及实现原理

作者:Joe 审阅者:allenwu 序言相信大家都用过HashMap用来存放键值对,最近在项目中使用HashMap的时候发现,有时候 IDE 会提示我这里的HashMap可以用SparseArray或者SparseIntArray等等来代替。 细心的朋友可能也发现了这个提示,并且会发现并不是所有的HashMap都会提示替换。今天就来一探究竟,到底SparseArray跟HaspMap相比有什么优缺点,又是在什么场景下来使用的呢? 如果你对于HashMap的实现原理还不是 ...

  • Joe
    Joe
22 min read
杂谈 |

2016,在此别过

这篇本应该在元旦节完成的年终总结,在我难以治愈的拖延症和各种让我妥协的时间冲突中被拖到了今天。人生中的每一年都很重要,16年尤其重要吧。 再回首 时间太瘦,指缝太宽 我还记得15年毕业典礼上,周绪红校长送给我们这样一句话,转眼已经到17年了。我永远都无法拖住时间,那就试图抓得再紧一些吧。我是个时不时会通过保存的物品来回忆过去的时光,那些现实和荒诞的点滴组成了如今的我,但记忆可能总是会选择性的遗忘一些事情吧。 16年初来到北京,一个我曾经信誓旦旦不会触碰的城市,奈何生活从来不 ...

  • Joe
    Joe
4 min read
Android源码学习 |

LruCache 源码学习笔记

转载请附原文链接: LruCache 源码学习笔记 上一篇笔记分析了 Volley 中的 ImageLoder ,作者推荐使用 LruCache 来作为一级缓存。本篇笔记就来分析一下 LruCache 是如何实现缓存的。如果你对 LruCache 还不了解,建议先学会使用,本篇笔记直接上源码,不会介绍使用。 LruCache 是 Android 中的一个缓存工具类,在 Android 3.1 的时候加入 util 包中,对于低版本的上可以在 support 包中找到这个类。该 ...

  • Joe
    Joe
13 min read
Android源码学习 |

Volley 中的ImageLoader源码学习笔记

转载请附原文链接: Volley 中的ImageLoader源码学习笔记 本篇笔记建立在上一篇分析 Volley 源码的基础上,如果你对 Volley 的源码还不了解可以看看上一篇笔记, 传送门 在 Android 中还有一大头疼的问题就是图片的加载, Volley 中封装了一个 ImageLoader 的类可以用来加载图片。本篇笔记就来分析一下 Volley 是如何处理图片加载的。 主要涉及的类: ImageLoader (Volley中的) ImageRequest ...

  • Joe
    Joe
32 min read
Android源码学习 |

Volley源码学习笔记

转载请附原文链接: Volley 源码学习笔记 这几天开启了疯狂的源码学习模式,今天学习的是网络框架 — Volley。依旧按照一贯的思路,从用法入手,再全面分析。 其实把 Volley 理解成为一个 Request (请求)的调度器可能更容易学习。 本次分析主要涉及到的类: Volley — 获取队列的帮助类 RequestQueue — 请求队列,维护请求调度 NetWorkDispatcher — 网络请求线程 CacheDispatcher — 缓存线程 Reque ...

  • Joe
    Joe
59 min read
Android源码学习 |

AsyncTask源码学习笔记

转载请附原文链接: AsyncTask 源码学习笔记 上一篇笔记分析了线程池的源码 ThreadPoolExecutor源码学习笔记 作为 Android 开发者不得不说说 Android 中的系统级异步框架 — AysncTask 几乎大部分 Android 开发者都用过AysncTask。这是一个专注于其他线程与 UI 线程通信的一个框架。官方的介绍: AsyncTask enables proper and easy use of the UI thread. Thi ...

  • Joe
    Joe
34 min read