![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
我想尝点甜头
学无止境。。
展开
-
LruCache和DiskLruCache的使用
LruCache是内存缓存,DiskLruCache对应的磁盘缓存。在学习Bitmap缓存优化的时候学习了这两种缓存方式,我觉得这种策略可以应用于Android的开发中(现在应该都是这样应用的吧),它不仅仅是Bitmap,它可以是商品,也可以是一组数据。现在就以Bitmap为案例,把我知道的关于Bitmap缓存的知识都记录下来。 LruCache在androidx.collection包下有这样一个类。先说说它的基本使用,首先创建LruCache的实例并分配给它内存的大小,然受重写siz...原创 2020-07-22 11:26:53 · 408 阅读 · 0 评论 -
Bitmap的优化及高效加载
Bitmap即位图。在Android中要处理要位图的加载显示并不容易,需要娴熟的管理的设备内存,否则很容易因为位图的加载不恰当占用了应用大量宝贵的内存空间,更严重的导致应用OOM。因此学习好如何高效的加载内存十分重要。幸好,现在有许多十分强大的图片加载框架,它们能够高效顺畅的加载位图,使用起来也非常方便,譬如Glide,picasso等。本文也暂时不去分析这些框架的源码(没复习到,也真的很复杂,不是三言两语能说明白的)。 Bitmap的加载优化呢,大概有三种: 1.采用图片质量...原创 2020-05-19 23:41:17 · 516 阅读 · 0 评论 -
Java Fail-fast
快速失败是当迭代器遍历集合的时候,如果集合的结构发生了改变(使用集合的添加或删除,迭代器的添加和删除不会报异常),迭代器就会抛出ConcurrentModificationException异常。for (int i = 0; i < 3; i++) { mStringList.add(String.valueOf(i)); Log.d(TAG, "add" + i); } ...原创 2020-05-17 18:31:36 · 129 阅读 · 0 评论 -
对AsyncTask的一次探索
AsyncTask AsyncTask是一个异步类,可以使用它开启一个任务去执行耗时操作,并实时将任务执行进度更新到UI线程中。使用起来非常方便。AsyncTask使用onPreExecute()在UI线程执行,在这个方法中,可以做一些任务开启前的准备工作,譬如初始化显示任务进度的ViewdoInBackground(Params... params)在子线程中执行,该方法在onPreExecute()方法执行后执行,在这个方法可以做一些耗时操作,并可以将执行的结果通过publis..原创 2020-05-10 19:36:53 · 231 阅读 · 0 评论