简析Bitmap

简析Bitmap基于9.0(29)简析Bitmap类。 我们只关注Bitmap类暴露出来的(即访问权限为public)东西。 枚举类Config 枚举类CompressFormat 若干 createBitmap 静态方法 其他方法 枚举类Config可能的 bitmap 配置。bitmap 配置描述像素的存储方式。这会影响质量(颜色深度)以及显示透明/半透明颜色的能力。 Config 每个像素占用字节数 表示颜色种数 说明 ALPHA_8 1个字节,A分量占8位,不存储颜色信息 0 ...     阅读全文
CodePoem's avatar
CodePoem 10月 16, 2019

简析BitmapFactory

简析BitmapFactory基于9.0(29)简析BitmapFactory类。 我们只关注BitmapFactor类暴露出来的(即访问权限为public)东西。 静态内部类Options 若干decode方法 静态内部类OptionsOptions,顾名思义,是BitmapFactory用于decode方法的选项参数。让我们看看有哪些: Bitmap inBitmap如果使用此参数,decode方法会在加载内容时尝试重用此 bitmap ,如果编码操作不能使用此 bitma...     阅读全文
CodePoem's avatar
CodePoem 10月 14, 2019

Android图片压缩

Android图片压缩为什么要压缩减少内存占用内存占用大小 = Bitmap大小 = 总像素点数 x 一个像素点占用的字节数 BitmapAndroid中图片在内存中的表达形式是Bitmap,即位图。 总像素点数总像素点数由什么决定呢? 总像素点数 = 图片源长度 x 缩放比例 x ...     阅读全文
CodePoem's avatar
CodePoem 10月 14, 2019

模板整理之上传仓库

上传仓库我们在日常打aar包和jar包,并上传到远端中央仓库时,需要引入大段gradle代码,较为繁琐。我这里整理了常用的上传到中央仓库的gradle代码,提供了较为方便的使用方式。上传代码模板GitHub目前只有上传到bintray也就是jcenter的整理,后期有需要其他远端中央仓库的会继续跟进。 模板整理GitHub     阅读全文
CodePoem's avatar
CodePoem 10月 09, 2019

模板整理之Travis CI

Travis-CI官方文档 免费Travis-CI(针对开源项目):https://travis-ci.org 收费Travis-CI(针对私有和商业项目):https://travis-ci.com 使用步骤 登录 Travis CI 并对指定的项目启用。 配置 .travis.yml ,参考官方文档。 push(或其他方式)触发Travis-CI。     阅读全文
CodePoem's avatar
CodePoem 10月 09, 2019

Crash治理之TimeoutException

TimeoutException产生原因与 GC 过程相关的守护线程中的2个守护线程 FinalizerDaemon 和 FinalizerWatchdogDaemon 有关。 FinalizerDaemon :析构守护线程。对于重写了成员函数 finalize 的对象,它们被 GC 决定回收时,并没有马上被回收,而是被放入到一个队列中,等待 FinalizerDaemon 守护线程去调用它们的成员函数 finalize ,然后再被回收。 FinalizerWatchdogDaemon :析构监护守护线程。用来监控 FinalizerDaemon 线程的执行。一旦检测那些重定了成员函数 finalize 的对象在执行成员函数 finalize 时超出一定的时间,那么就会退出 VM 。 原因小总结: GC 过程中 FinalizerDae...     阅读全文
CodePoem's avatar
CodePoem 9月 25, 2019

Android动画

Android动画Android中动画划分为两大类 视图动画(View Animation)和 属性动画(Property Animation)。其中 属性动画(Property Animation)需要在Android3.0之后(API >= 11)使用。视图动画(View Animation)又包括了 帧动画(Frame Animation) 和 补间动画(Tweened Animation)。 视图动画(View Animation)帧动画(Frame Animation)帧动画(Frame Anim...     阅读全文
CodePoem's avatar
CodePoem 9月 16, 2019

Android自定义View

Android自定义View什么是自定义View自定义 View 就是通过继承 View 或者 View 的子类,并在继承的类里面实现自定义的处理逻辑(重写相应的方法),以达到自己想要的效果。 为什么要自定义View 让界面有特定的显示效果、交互 优化布局(减少布局层次) 封装 如何自定义View     阅读全文
CodePoem's avatar
CodePoem 9月 16, 2019

Java泛型

Java泛型概述泛型:参数化类型(将类型由原来的具体的类型参数化)。 特点: 适用于多种数据类型执行相同的代码。 使用泛型时,在实际使用之前类型就已经确定了,不需要强制类型转换。 泛型只在编译阶段有效。 泛型命名标识字母(常见字母): T Type K V Key Value E Element 简单使用泛型类     阅读全文
CodePoem's avatar
CodePoem 9月 10, 2019

Android设备唯一性

Android设备唯一性如何标识唯一的Android设备呢? 硬件标识符IMEI 国际移动设备身份码(International Mobile Equipment Identity),是由15位数字组成的”电子串号”,它与每台手机一一对应,而且该码是全世界唯一的。 IMEI所需权限: 1<uses-permission android:name=&quo...     阅读全文
CodePoem's avatar
CodePoem 8月 28, 2019