首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
AntDream
掘友等级
十年移动端开发
专注移动端开发,偶尔搞点别的,哈哈
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
110
文章 110
沸点 0
赞
110
返回
|
搜索文章
最新
热门
Android内存优化之图片内存优化
所以我们需要不同分辨率的图片来放在对应的目录下来做适配,否则Android系统可能会将我们的图片拉伸导致变形。 图片的压缩是指我们需要根据View所实际需要的图片尺寸来加载对应大小的图片。一般我们用的图片加载第三方库,比如Glide,都已经帮我们做了处理。所以这里的图片压缩我们…
LinkedHashMap源码解析
LinkedHashMap实际只是在HashMap的基础上加上了一个双向链表来保存节点插入的顺序,因此很多的逻辑都和HashMap是一样的。比如插入节点时,LinkedHashMap相比HashMap只需要在HashMap的基础上将节点插入双向链表,以及根据排序要求更新节点的顺…
HashMap源码解析
扩容的时候,在将原先的数据重新映射到新数组时,会对原来的链表进行优化。 优化的方式是通过与原数组的容量(为2的倍数)进行与操作,判断高一位是0还是1。如果是0则新的索引不变,比如原来的索引是5,那在新数组里面也放在索引为5的地方;而如果是1,则新的索引为原索引+原数组容量,比如…
Android内存优化之内存泄漏
单例的情况主要是因为单例的生命周期比较长,如果引用的一些资源(比如Context、图片等)没有做特殊处理,就容易导致内存泄漏。具体的分析可以查看文章:Android 单例模式的正确姿势 静态变量的生命周期同样很长,如果引用了一些资源没有及时释放的话就会导致内存泄漏,比如Cont…
SharedPreferences你用对了吗
把注释拿出来了,大家可以看下。 commit和apply方法都是用来提交更改的,而且提交多次的话会以最后一次提交的为准,也就是最后一次的更改是最终的结果,这个很好理解。 commit方法有返回值,提交成功会返回true,失败返回false;而apply方法没有返回值。 comm…
Retrofit2源码解析——网络调用流程(下)
上次我们分析到网络请求是通过OkHttpCall类来完成的,下面我们就来分析下OkHttpCall类。 OkHttpCall的enqueue方法主要干了2件事,一个是创建OkHttp3的Call用于执行网络请求;另一个是解析返回的结果并回调。下面我们来看看创建OkHttp3的C…
Retrofit2源码解析——网络调用流程(上)
总结起来就是三步:通过create方法生成我们的接口对象、调用接口得到Call、调用Call发起网络请求。我们分别来看看这三步Retrofit2都干了些啥。 可以看到Retrofit的create方法返回的是一个动态代理对象,当我们调用通过create方法生成的接口对象mySe…
Retrofit2源码解析(一)
Retrofit2底层基于OkHttp3,是对利用OkHttp3请求网络的一种封装,可以使我们避免写很多重复的调用网络请求的代码,同时灵活性很高,可以定制自定义的OkHttpClient、自定义的数据解析转换器(比如Gson、Jackson等)、自定义的请求转换器(比如结合Rx…
SharedPreferences的Commit和Apply
把注释拿出来了,大家可以看下。 commit和apply方法都是用来提交更改的,而且提交多次的话会以最后一次提交的为准,也就是最后一次的更改是最终的结果,这个很好理解。 commit方法有返回值,提交成功会返回true,失败返回false;而apply方法没有返回值。 comm…
Android 多线程之正确使用线程池
corePoolSize:表示核心线程数。默认情况下核心线程会在线程池中一直存活,即使处于闲置状态。如果将ThreadPoolExecutor的allowCoreThreadTimeOut属性设置为true,那核心线程也会有超时策略,时间间隔由keepAliveTime指定 m…
下一页
个人成就
优秀创作者
文章被点赞
1,200
文章被阅读
385,909
掘力值
9,597
关注了
1
关注者
2,084
收藏集
3
关注标签
88
加入于
2017-09-30