自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

少年阿涛

博客搬家了,关注我的朋友可以到https://juejin.im/user/590943745c497d0058547b57/posts查看我的最新文章,届时csdn将停止更新。...

原创 博客搬家了

博客搬家了,由于csdn对于开发者的交流太欠缺,关注我的朋友可以到掘金查看我的最新文章,届时csdn将停止更新。

2018-10-24 08:52:19

阅读数 56

评论数 0

原创 Exif图片方向的一些发现

背景 首先,先要了解Exif是个什么东东,搬出百度百科 可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。 说到底Exif就是一种格式,用来存储图片的一些信息,这些信息...

2018-10-14 22:27:23

阅读数 1240

评论数 0

原创 subsampling-scale-image-view加载长图源码分析总结

subsampling-scale-image-view源码分析背景介绍使用源码分析总结参考 背景 对于安卓开发人员,最头疼的问题就是内存问题了,而内存问题又当属bitmap最头疼,虽然说现在市面上已经有越来越多成熟的图片加载框架,像Fresco,Glide,它们也确实帮我更好地管理了图片的内...

2018-10-14 15:24:12

阅读数 968

评论数 0

原创 Bitmap ImageView大小探究

前言 我们平时在使用ImageView,当设置宽高为wrap_content的时候,设置bitmap,有没有想过一个问题,那就是大小究竟是如何计算的,平时说的那些density又和最终显示的图片大小有什么关系呢。本着严谨的态度,我开始了探索源码解读的不归路上。 过程 本次实验所用测试机den...

2018-10-11 10:34:23

阅读数 86

评论数 0

原创 subsampling-scale-image-view加载长图源码分析(二)

subsampling-scale-image-view源码分析概要分析总结 概要 subsampling-scale-image-view是一个支持部分加载大图长图的图片库,并且还支持缩放,在subsampling-scale-image-view加载长图源码分析(一)已经介绍过它的用法和部分源...

2018-10-01 17:10:32

阅读数 652

评论数 0

原创 subsampling-scale-image-view加载长图源码分析(一)

subsampling-scale-image-view部分加载bitmap源码分析

2018-10-01 12:32:36

阅读数 1090

评论数 0

原创 我对于适配器模式的理解

适配器模式概念介绍使用想法参考 概念 在设计模式中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装(wrapper)。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类能在一起工作,做法是将类自己的接口包裹在一个已存在的类中。引用自wik...

2018-09-20 23:33:33

阅读数 708

评论数 1

原创 线程阻塞之join和CountDownLatch的简单使用

介绍 通常使用线程的时候,我们很少需要去阻塞线程,一般通过回调返回数据既可,但是有些场景比方说,线程中需要等待另外一个线程的结果,这时候我们就可以通过显示地去阻塞线程,等待线程结束获得数据。一般可以使用CountDownLatch 或者线程的join方法进行线程的同步阻塞。线程阻塞的一些知识可...

2018-09-17 10:51:42

阅读数 78

评论数 0

原创 wait线程阻塞

介绍 线程阻塞通常是指一个线程在执行过程中由于某种原因从运行状态转为暂停状态的过程,线程阻塞会放弃CPU的使用权, 并且等待某个条件重新从暂停状态改为就绪状态。在Java中,通常使用object.wait让线程进入阻塞状态。 使用 首先我们先看wait方法,wait方法总共有三个...

2018-09-16 19:12:40

阅读数 353

评论数 0

原创 编码知识整理

前言    可能很多人事先没有了解好相关的编码知识,就把Unicode编码和UTF-8编码混为一谈相互比较,认为是两种不同的编码,其实不然,Unicoe编码只是一个字符集,规定了字符和二进制代码的对应关系,好比是一个大字典,但是对于如何编码存储在计算机及其具体实现,Unicode编码并没有做规定...

2018-09-08 13:01:03

阅读数 70

评论数 0

原创 Java字节码介绍及动态修改类

前言 对于Java字节码,它是在Java类的编译过程产生的,即由.java源文件到.class二进制字节码文件的过程。而Java类的加载又是通过类的名字获取二进制字节流,然后在内存中将字节流生成类对象。所以动态修改类的时机在于修改.class文件,只要通过修改.class文件的字节码,即可达到修...

2018-09-06 18:36:30

阅读数 3562

评论数 0

原创 App优化的思考,整理以及分析。

前言    随着APP开发的业务进展到一定的程度,无论是App安装包的体积也好,运行内存也好等方面都出现了极大的问题,安装包体积不断增大,运行内存过大容易导致OOM,这些问题都亟需解决,也是进阶的必备之路。既然前期已经污染了,后期就一定要加紧治理,所以这几天也进行了一定的思考和整理。 分析 ...

2018-08-19 17:08:42

阅读数 468

评论数 0

原创 一次内存泄露的分析及总结

概要 项目也使用LeakCanary一段时间了,也确实检测出了内存泄露,只是碍于项目进度,一直没有去进行分析。现在有时间了,就开始着手进行分析。LeakCanary泄露如下: 欢迎页泄露了26M,可怕吧。 过程 首先需要找出泄露的根源,LeakCanary也提供了这方面的帮助,点击泄...

2018-08-14 11:19:09

阅读数 419

评论数 0

原创 使用 SQLCipher加密数据库的错误总结(file is not a database: , while compiling: select count(*) from sqlite_master

使用经历如下   由于项目中需要用到加密数据库,使用特意用了github的经典项目 sqlcipher, 使用起来也很简单,和原生的数据库没有差异,甚至连类名都一样,只是包路径需要替换为Sqlcipher的相应路径。还有获取数据库的方式需要加上密码,如 SQLiteOpenHelper.getW...

2018-08-05 17:05:16

阅读数 7070

评论数 3

原创 Android Paging分页库的学习(一)—— 结合本地数据进行分页加载

Paging分页库的介绍 Paging分页面是google推出的一个结合RecyclerView进行分页加载数据的一个全新架构库,主要是为了解决一次性加载大量数据而造成的资源浪费问题。通过分页的方式,每次加载一页数据,既可以加快界面的渲染,又可以减少对象等资源的创建消耗。具体可以看官网 分页库...

2018-07-22 17:12:45

阅读数 693

评论数 3

原创 Android Paging分页库的学习(二)—— 结合Room数据库进行分页加载

Paging分页库的介绍 Paging分页面是google推出的一个结合RecyclerView进行分页加载数据的一个全新架构库,主要是为了解决一次性加载大量数据而造成的资源浪费问题。通过分页的方式,每次加载一页数据,既可以加快界面的渲染,又可以减少对象等资源的创建消耗。具体可以看官网 分页库...

2018-07-15 17:55:54

阅读数 1395

评论数 0

原创 android-priority-jobqueue分析(一)—— 消息的处理

强大的后台执行队列神奇的源码分析。

2018-06-18 18:32:34

阅读数 117

评论数 0

原创 Android sqlite syntax error 引发的错误以及思考

      相信不少人都会使用android的内置数据库sqlite进行数据库查询,也或多或少会遇到这个问题  android.database.sqlite.SQLiteException:near syntax error (code 1): 一般来说,这个异常出现的情况是数据库的语法...

2018-04-29 17:59:22

阅读数 227

评论数 0

原创 烦人的DexException Unable To Merge Dex

      在引入一个新的依赖库之后,相信不少人看到这个报错真的是头疼,其实在之前我也是这样,第一反应就是clean build,然后发现重复几次并没有用。然后开始百度查找方案,尝试无果之后就把库换掉。      其实归根到底,还是因为控制台报错信息不完整,没有具体告诉你哪个类或者哪个包重复了,接...

2018-04-04 09:33:17

阅读数 3684

评论数 1

原创 fragment 在后台被杀死 数据丢失

问题描述 日常排查bugly上面的错误时,发现Nullpointer的问题特别严重,而相关的特征都是应用在后台和应用带fragment。排查代码发现都做了为空判断,为什么还会出现空对象的情况呢? 模拟场景 如果应用常驻后台,内存有可能会被系统回收,当用户重新打开应用时,app进行恢复操作,此时应用...

2017-12-10 17:11:30

阅读数 829

评论数 0

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