
学习笔记
文章平均质量分 90
疯震震
征服Android,征服Google,从我做起!
展开
-
IntentFilter匹配规则
1、Activity启动方式我们知道,启动Activity分为两种,显式调用和隐式调用。显式调用需要明确指定被启动对象的组件信息,包括包名和类名。隐式调用不需要指定组件信息,但需要匹配目标组件的IntentFilter中所设置的过滤信息。2、IntentFilterIntentFilter中的过滤信息包括:action、category、data。为了匹配过滤列表,需要同时匹配过滤列表中的action、category、data信息,否则匹配失败。一个过滤列表中的action、category原创 2021-05-22 13:49:25 · 296 阅读 · 1 评论 -
【单例深思】饿汉式
1、抛出问题为什么饿汉式单例是线程安全的?为什么饿汉式单例没有延迟加载(Lazy Loading)?2、JVM类加载机制饿汉式单例的实现:public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() {} public static Singleton getInstance() {原创 2021-05-22 13:46:21 · 194 阅读 · 3 评论 -
OOM?高性能帧动画FrameAnimation-TextureView和BlobCache
一、背景前段时间由于工作上的需求,需要实现一个帧动画,由于时间紧迫,于是就想参考一下网上开源的库,找了一圈,都没有找到特别合适的,有些甚至一大堆问题。于是参考他人的,自己写了一个。二、为什么不用Android原生帧动画?时间紧迫?那为什么不用Android原生帧动画?有什么缺点吗?Android 提供了AnimationDrawable用于实现帧动画。在动画开始之前,所有帧的图片都被解析到内存中,一旦动画较复杂帧数较多,在低配置手机上容易发生 OOM,即使不发生 OOM,也会对内存造成不小的压力。原创 2020-12-07 23:08:02 · 1541 阅读 · 2 评论 -
BlobCache与DiskLruCache的读写对比
上一篇文章详细介绍了BlobCache算法,这篇文章就写一下跟DiskLruCache的读写速度对比。注意:该文章的所有测试数据是基于Android Studio自带模拟器的Pixel XL机器测试。先奉上GitHub代码:CacheContrast一、存储速度对比二、读取速度对比三、总结从上面的对比结果可以看得出:BlobCache在存储速度上比DiskLruCache慢;BlobCache在读取速度上比DiskLruCache快;BlobCache在读取速度上有很大的优原创 2020-09-20 19:27:28 · 506 阅读 · 0 评论 -
BlobCache算法详解
BlobCache算法和LruCache算法是android中的图片缓存算法。LruCache算法在日常开发中用得比较多,但BlobCache却用得比较少,网上介绍的文章也是少得可怜。跟LruCache不一样,BlobCache并不属于android的util,BlobCache最开始使用的地方是谷歌的Gallery,具体源码可以查看:BlobCache一、BlobCache框架BlobCache会在本地保存三个文件imageCache.idx、imageCache.0、imageCache.1(后原创 2020-08-15 21:09:52 · 1609 阅读 · 0 评论 -
重温View绘制原理(二)
紧接着上一篇文章重温View绘制原理(一),继续看view绘制原理。1. View绘制流程view的绘制是从根视图 ViewRoot 的 performTraversals() 方法开始,从上到下遍历整个视图树,每个 View 控制负责绘制自己,而 ViewGroup 还需要负责通知自己的子 View 进行绘制操作。视图操作的过程可以分为三个步骤,分别是测量(Measure)、布局(Layou...原创 2019-06-26 20:49:49 · 921 阅读 · 0 评论 -
重温View绘制原理(一)
1. View的知识前提View的绘制是从上往下一层层迭代下来的:DecorView–>ViewGroup(—>ViewGroup)–>View,所以,在学习view的绘制原理前,我们来先看看DecorView。1.1 DecorView的视图结构Android 中 Activity 是作为应用程序的载体存在,代表着一个完整的用户界面,提供了一个窗口来绘制各种视图。每个a...原创 2019-06-26 20:48:09 · 1406 阅读 · 0 评论 -
Handler知识收集整理
Handler知识收集整理我是代码搬运工,不能仅仅只是搬运,还要整理一下。1. Handler组成部分:Message:消息Handler:消息的发起者Looper:消息的遍历者MessageQueue:消息队列2. Handler的使用流程:使用Handler之前的准备工作有三步:调用Looper.prepare()(主线程不需要调这个,因为APP创建时,main方法...原创 2019-03-25 08:40:15 · 323 阅读 · 0 评论 -
阅读《疯狂Java讲义》笔记
背景古人云:温故而知新。 多回头看看基础总能学到新东西。正文第三章 数据类型和运算符1. String字符串类型不是基本类型,而是引用类型。2. 强制转换类型:表数范围大 -> 表数范围小 : 缩小转型3. Java会确保每个字符串常量只有一个,不会产生多个副本:String s0 = "hello";String s1 = "hello";String s...原创 2018-04-22 18:34:57 · 1438 阅读 · 0 评论 -
阅读《阿里巴巴Android开发手册1.0.1》笔记
背景2018春节余味尚未消,阿里巴巴为移动开发者们准备了一份迟到的新年礼物——《阿里巴巴Android开发手册》1.0.1版本。在此写下我的阅读笔记,记录下自己平时没有注意的一些问题,规范自己。正文1.【强制】Activity 间通过隐式 Intent 的跳转,在发出 Intent 之前必须通过 resolveActivity 检查,避免找不到合适的调用组件,造成 Acti...原创 2018-03-11 00:11:04 · 459 阅读 · 0 评论