优雅FindViewById

优雅FindViewByIdfindBiewById 是 Android 开发中在布局中查找 View 元素的 Api。 12345678910     阅读全文
CodePoem's avatar
CodePoem 4月 18, 2020

Fragment可见性

1234567891011121314151617...     阅读全文
CodePoem's avatar
CodePoem 3月 05, 2020

ViewPager下Fragment预加载与懒加载

ViewPager下Fragment预加载与懒加载预加载ViewPager 控件有一个预加载机制,即默认情况下当前页面左右两侧的1个页面会被预加载,以方便用户滑动切换到相邻的界面时,更流畅地加载界面(节省了初始化时间)。 从源码里可以看到,ViewPager 的预加载机制是不可取消的,预加载数量 limit 至少为 1,如果外部设置小于 1,内部会自动置为 1。 1234     阅读全文
CodePoem's avatar
CodePoem 1月 11, 2020

简析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

Android图片压缩

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

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

Android设备唯一性

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