![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
study
xu_song
专注于前端及移动端开发
展开
-
Android开发优化之——使用软引用和弱引用
Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。这里重点介绍一下软引用和弱引用。如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存...原创 2018-07-30 10:52:11 · 236 阅读 · 0 评论 -
Android Volley框架源码详细解析
前言经常接触Android网络编程的我们,对于Volley肯定不陌生,但我们不禁要问,对于Volley我们真的很了解吗?Volley的内部是怎样实现的?为什么几行代码就能快速搭建好一个网络请求?我们不但要知其然,也要知其所以然,抱着这样的目的,本文主要详细讲述Volley的源码,对内部流程进行详细解析。Part 1.从RequestQueue说起(1)还记得搭建请求的第一步是什么吗?是...转载 2018-08-14 17:22:16 · 236 阅读 · 0 评论 -
java中synchronized和volatile的区别
synchronized和volatile的使用方法以及区别先看看下面的例子:public class ThreadTest { public static void main(String[] args) { final Counter counter = new Counter(); for (int i = 0; i < 1000...转载 2018-08-14 17:24:06 · 719 阅读 · 0 评论 -
Android主线程(ActivityThread)源代码分析
在写这篇博客之前,先抛出一个问题,安卓应用程序的入口是什么呢?我想不少人可能回答说:application的onCreate方法,其实并不是的,即使是application,也有一个方法比onCreate先执行,这个方法就是attachBaseContext(Context context)方法:一般情况下,可以在这个方法中进行多dex的分包注入,比如下面的代码:@Override ...转载 2018-08-23 16:44:42 · 12231 阅读 · 4 评论