![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android总结
文章平均质量分 72
Android第一菜
一个才刚刚开始学习的小菜鸟
展开
-
Android中Bitmap的简单分析
Bitmap数据存储位置在Android 2.3.3(API10)之前,Bitmap的像素数据存放在Native内存Android3.0之后8.0之前,Bitmap的像素数据被改成放在了Dalvik Heap(java堆)中Android8.0之后,Bitmap的像素数据回到Native内存中,但是google改进后可以随着java对象的释放而被快速释放(并且新增了图片内存,提高了绘制效率)为什么会放回native层存natvie层用的是一个新的hardware的库,估计是为了更好的发挥硬件性原创 2020-12-31 22:59:40 · 335 阅读 · 0 评论 -
常见优化:资源冲突的处理
前言什么是资源冲突引用第三方库或者子Module时,这些依赖库中的资源可能会与主工程本身的资源发生重名冲突,从而发生资源互相覆盖的情况容易导致什么问题项目引用drawable资源、string资源等可能不会按照自己预期的效果来显示layout资源如果错误,甚至会导致无法通过id获取到对应控件,从而触发如空指针等一系列崩溃问题以上的问题都是可能需要到运行时才会发现的处理办法修改资源前缀可以通过在model的gradle文件里加上下面的字段android{ resourcePre原创 2020-11-27 19:22:52 · 1651 阅读 · 0 评论 -
Glide源码解析3:缓存相关
问题Glide分别有哪些缓存Glide在什么时候会从缓存中读取数据Glide在什么时候会从存入缓存Glide有哪些缓存弱引用缓存ActiveResourcesLru缓存LruResourceCache硬盘缓存DiskLruCache如何从缓存中拉取数据内存缓存在SingleRequest发起任务时 public <R> LoadStatus load( GlideContext glideContext, Object model,原创 2020-11-15 23:07:30 · 189 阅读 · 0 评论 -
Glide源码解析2:数据加载
问题上文已经简单解释了一个Request的生成过程,本文目标如下Glide在load中传入的数据最后是如何转成显示的Drawable的传入的数据如何在ImageView上显示注意由于代码分支过多,会删减一些源码便于理解流程解析Request.begin书接上文,SingleRequest的begin被调用之后//SingleRequest.javapublic void begin() { //这里的方法按照注释来说是如在我们调用了notifyDataSetChanged之后,原创 2020-11-15 21:04:44 · 206 阅读 · 0 评论 -
Glide源码解析1:加载请求Request是如何生成的
问题我们正常调用Glide时如何开始的异步加载Glide如何与生命周期相关的简单使用Glide.with(this).load(R.drawable.test).into(iv_image)流程解析Glide.with()有多个with方法,这里只以参数是context的来举例//Glide.java//通过RequestManagerRetriever实例去获取对应context的RequestManagerpublic static RequestManager with(@N原创 2020-11-14 21:12:10 · 294 阅读 · 0 评论 -
SharedPreferences源码分析
分析达成目标了解基本实现SharePreferences是否线程安全SharePreferences的mode参数是什么了解apply与commit的区别导致ANR的原因Android8.0做了什么优化基本实现简单使用先从如何简单使用开始val sp = context.getSharedPreferences("123", Context.MODE_PRIVATE)//通过SharedPreferences读值val myValue = sp.getInt("myKey",-1原创 2020-10-30 00:17:10 · 173 阅读 · 1 评论 -
RecycleView的Item曝光事件、曝光时间、阅读进度上报
原因工作中一般会针对页面展示与点击事件进行数据的上报,用于给运营分析用户行为。不过这次要求的会多一些,要求统计如下内容列表内每个商品的封面曝光次数列表内每个商品的封面曝光总时间列表的阅读进度问题点如何判断一次商品的封面曝光?判断时机:①在RecycleView滑动时,即通过OnScrollListener判断。②在界面切换时生命周期判断如何判断商品出现:RecycleView的LinearLayoutManager有findFirstVisibleItemPosition和findL原创 2020-09-08 22:10:07 · 1347 阅读 · 0 评论 -
Android开发艺术探索第一章笔记
Android开发艺术探索第一章笔记,Activity生命周期原创 2017-11-05 20:15:32 · 263 阅读 · 0 评论 -
Handle、Message、Looper
Handle、Message、Looper源码分析原创 2017-10-04 19:56:36 · 443 阅读 · 0 评论 -
动态加载总结
对动态加载的简单总结原创 2017-10-03 18:24:08 · 418 阅读 · 0 评论 -
类加载器ClassLoader
类加载器ClassLoader原创 2017-10-03 18:25:18 · 343 阅读 · 0 评论 -
Android动画的总结
包括了逐帧动画、补间动画、属性动画以及Intepolator、TypeEvaluation、ValuePropertyAnimator的简单介绍原创 2017-10-01 23:07:59 · 264 阅读 · 0 评论 -
dispatchTouchEvent总结
看了大神的对有关dispatchTouchEvent的源码分析后(http://blog.csdn.net/yanbober/article/details/45887547),自己总结一下1、每个View的按键都是通过dispatchTouchEvent来分发,onClick、onTouch也都是在该方法中调用的。2、dispatchTouchEvent返回false,则之后的actio原创 2017-09-30 15:54:28 · 1932 阅读 · 0 评论