自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 android开发问题合集

1. ViewPager中如果有页面要显示超出界面的部分,就是clipChildren = false,这时候设置了滑动效果,即 mViewPager.setPageTransformer(false, new ScaleTransformer(), ViewCompat.LAYER_TYPE_NONE);第三个参数要关掉硬件加速,要不然,滑动时,clipChildren = fal...

2019-06-26 22:57:56 319

原创 WeakReference应用-LeakCanary检测内存泄漏

这篇文章不是想要把LeakCanary的原理给讲一遍,这些东西大牛们已经写的非常好了。有时候不太想写这方面的博客的原因是前辈们已经写得太好了,重复造车,没什么意思,而且即使写出来了,跟人家的一比,没法超越他们,也就不班门弄斧了。之所以写这篇文章,是因为在看完LeakCanary原理之后,WeakReference好像有点不一样了。抛出一个问题,LeakCanary检测内存泄漏是如何发现内存泄漏...

2019-06-21 00:45:31 612

原创 Glide 渐变圆形边框实现

占坑

2019-06-17 09:27:01 1109

原创 Glide带边框的圆角矩形变换

要用Glide实现一个带边框的圆角矩形,并且还可以自定义哪些边角是圆角,像这样:直接看代码public class BorderRoundTransformation implements Transformation<Bitmap> { /** * 用一个整形表示哪些边角需要加圆角边框 * 例如:0b1000,表示左上角需要加圆角边框 ...

2019-06-15 19:20:16 3769

原创 Java 反射-Class.java

最近在看插件化的东西,其中最重要的是反射机制的运用,对有些方法的认识不够深,记录下。public final class Class<T> implements java.io.Serializable , java.lang.reflect.GenericDeclaration, java.lang.reflec...

2019-04-02 00:03:54 119

原创 图解UML六种关系

哎呀图传错了。。。

2019-03-28 23:12:44 224

原创 Glide的图像centerCrop处理-长短边适配

Glide的图像适配Imageview提供了两种写好的模式centerCrop,fitCenter。在看代码时出现了一些疑惑,就是TransformationUtils这个类中的centerCrop方法,看代码 public static Bitmap centerCrop(Bitmap recycled, Bitmap toCrop, int width, int height) { ...

2019-03-22 23:18:20 7698 2

原创 SparseArray巧妙的二分查找

在SparseArray类中判断在稀疏数组中是否存在对应key值时用到了一个二分查找,如下class ContainerHelpers { // This is Arrays.binarySearch(), but doesn't do any argument validation. static int binarySearch(int[] array, int size,...

2019-03-22 22:10:09 291

原创 Glide与架构组件LifeCycle的生命周期管理

最近在看Glide的源码的时候,发现Glide的生命周期的绑定居然跟Google的架构组件LifeCycle实现原理一模一样,都是通过创建一个隐形的Fragment来实现生命周期控制的。简单看下两者的实现方式(网上详细的写了一大堆,也写得非常好,这里只简单带下流程)Glide的生命周期绑定:Glide.with(context)入口 public static RequestManager ...

2019-03-22 00:40:15 615

原创 Android 分屏模式 问题总结

Android 7.0(api 24) 开始支持分屏模式,让应用支持分屏模式其实有两种方法1.在AndroidManifest的application节点里面加上 android:resizeableActivity=&quot;true&quot;属性2.把 targetSdkVersion 改为24或以上这两种方法都可以让应用支持分屏,第一种方法主要是为了适配低版本,第二种看起来更方便点,什么都用加。但是...

2019-03-14 22:15:50 3031

原创 SparseArray扩容机制

SparseArray指的是稀疏数组,就是数组中并没有填满,只有部分有值,这样造成了内存浪费,往往采用的是压缩的方式来存储内容。了解下SparseArray怎么存储的以及SparseArray的扩容。比较下与HashMap得区别。看下代码public class SparseArray&amp;amp;amp;lt;E&amp;amp;amp;gt; implements Cloneable {//内部是两个数组,一个用来存储key值...

2019-03-06 00:05:17 1451

原创 HashMap的扩容条件与过程

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。面试中老是会问什么时候HashMap会扩容?并且还要描述扩容过程中数据是如何迁移的H...

2019-03-05 00:19:08 16910 4

原创 Android Bitmap解析 缩放问题

想起以前做东西的时候遇到一个Bitmap 大小与资源文件存放位置有关的问题,有时间了分享下。索大大霸气镇楼,哈哈哈哈哈。做的东西大概是这样子要求:需要分享一张索大大的海报,这张海报的底图放在app里,这张海报上要写一些前辈赠言,这些文字由服务器下发,可能还需要在某些位置添加一些图片,也从服务器获取,图片和文字的绝对位置都会标注出来(就是距离左边和上边多少像素)在用户点击分享的时候把...

2019-02-22 00:06:51 1613

原创 Android 字体颜色渐变效果 Span实现

Android 实现字体颜色渐变效果废话留在后面直接上代码public class LinearGradientFontSpan extends ReplacementSpan { private int mSize; private int startColor; private int endColor; public LinearGradien...

2018-08-22 00:41:23 9635 8

原创 Android横竖屏切换Dialog、PopWindow无法消失的问题

Android实际开发当中,经常会使用到Dialog以及PopWindow这些窗体控件,而这些控件的应用场景往往是这样的,切换横竖屏的时候,你要让它消失。其实正常情况下,在Activity中显示一个Dialog或者PopWindow的时候,切换横竖屏的时候,这些控件是会自动消失的。但是呢,如果你给Activity配置了如下属性,就会导致Dialog及PopWindow消失不了:androi

2018-02-03 16:00:11 3514

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除