06 2022 档案

摘要:1.测量 简单流程就是: 确定view是树结构 递归遍历每个子节点,即子view,进行测量。 下面具体说一下: 首先view是树结构。 也就是说子view是父view的孩子节点。 根节点是就是DecorView。 了解树的都知道,树的遍历都是递归遍历。 那么测量view的过程,其实就是遍历树的过程。 阅读全文
posted @ 2022-06-30 17:00 cfdroid 阅读(341) 评论(0) 推荐(0) 编辑
摘要:反射 通过反射可以获取到类,成员变量,方法 参考文档 Java反射完全解析 阅读全文
posted @ 2022-06-29 19:34 cfdroid 阅读(7) 评论(0) 推荐(0) 编辑
摘要:2022 Android面经实录 Android 基础相关 Activity Fragment Service Broadcast webView binder 异步消息处理机制相关 Handler AsyncTask HandlerThread IntentService view相关 view绘 阅读全文
posted @ 2022-06-29 18:52 cfdroid 阅读(37) 评论(0) 推荐(0) 编辑
摘要:概述 图用的较少。后续补充。 阅读全文
posted @ 2022-06-29 13:16 cfdroid 阅读(10) 评论(0) 推荐(0) 编辑
摘要:概述 树一类很常用的数据结构 常见的有二叉树,二叉搜索树,红黑树 树的性质 主要是树的一些基本概念。 节点 父节点、子节点、叶子节点、根节点这些概念。 树的深度,宽度 二叉树 二叉搜索树 红黑树 这些树的概念和区别。 树的一些基本操作 遍历 树的遍历 前序遍历 根->左->右 中序遍历 左->根-> 阅读全文
posted @ 2022-06-29 13:15 cfdroid 阅读(68) 评论(0) 推荐(0) 编辑
摘要:链表 特点: 节点内部包含指向下一个节点的指针,这种称为单链表 既有下个节点也有上个节点的指针,这种称为双向链表 链表又分为带头结点和不带头结点的 链表的一些基本套路 假设链表为如下数据结构: class ListNode { int val; ListNode next; public ListN 阅读全文
posted @ 2022-06-29 13:04 cfdroid 阅读(37) 评论(0) 推荐(0) 编辑
摘要:概述 Hashtable 与 HashMap 都是 Map 族中较为常用的实现,也都是 Java Collection Framework 的重要成员,它们的本质都是 链表数组。 Hashtable 和 HashMap 既是 Java Collection Framework 的重要成员,也是 Ma 阅读全文
posted @ 2022-06-28 20:14 cfdroid 阅读(44) 评论(0) 推荐(0) 编辑
摘要:概述 ArrayList是List集合的列表经典实现,其底层采用定长数组实现,可以根据集合大小进行自动扩容。 代码基于jdk1.8 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, 阅读全文
posted @ 2022-06-28 15:40 cfdroid 阅读(37) 评论(0) 推荐(0) 编辑
摘要:LinkedList概述 LinkedList继承自AbstractSequentialList,实现了List接口和Deque接口。 既可以当做list用,也可作为队列和栈来用。可以说是非常的全面了。 本文分析基于jdk1.8 LinkedList底层实现原理 底层数据结构 LinkedList底 阅读全文
posted @ 2022-06-28 15:01 cfdroid 阅读(22) 评论(0) 推荐(0) 编辑
摘要:集合 多线程 反射 泛型 序列化 阅读全文
posted @ 2022-06-28 13:47 cfdroid 阅读(11) 评论(0) 推荐(0) 编辑
摘要:java集合 java集合之HashMap分析 java集合之LinkedList分析 java集合之ArrayList分析 java集合之ConcurrentHashMap分析 java集合之HashSet分析 java集合之HashTable分析 java集合之PriorityQueue分析 j 阅读全文
posted @ 2022-06-28 13:46 cfdroid 阅读(11) 评论(0) 推荐(0) 编辑
摘要:队列 特点: 队列的特点是先进先出。即第一个进入队列的元素会第一个出来。 java中队列的实现: //创建一个普通队列 Queue<Integer> queue = new LinkedList<Integer>(); //普通队列添加数据 queue.offer(123); //获取队列的大小 i 阅读全文
posted @ 2022-06-28 13:37 cfdroid 阅读(26) 评论(0) 推荐(0) 编辑
摘要:栈 特点: 栈是一种先进后出的数据结构。最后被压入栈的元素会第一个被弹出。 通常栈是一种不考虑排序的数据结构,要查找数据的时间复杂度为O(n). java代码中栈的使用: //创建一个栈 Stack<Integer> stack = new Stack<>(); //判断栈是否为空 stack.is 阅读全文
posted @ 2022-06-28 13:20 cfdroid 阅读(33) 评论(0) 推荐(0) 编辑
摘要:数据结构之字符串 字符串是由若干字符组成的序列。在编程时使用的频率非常高。 字符串的一些常见操作 //字符串转成数组 String s= "123"; char[] c = s.toCharArray(); //字符串和Integer互转 String s = "123"; int num = In 阅读全文
posted @ 2022-06-27 13:54 cfdroid 阅读(98) 评论(0) 推荐(0) 编辑
摘要:数据结构之数组 数组在内存中的存储方式: 数组占据一块连续的内存,并按照顺序存储数据。 数组常见操作 以下均为java语言描述 //指定大小创建一个数组 int n = 10; int[] nums = new int[n]; //带数据创建 int[] nums = new int[]{1,2,3 阅读全文
posted @ 2022-06-27 12:12 cfdroid 阅读(151) 评论(0) 推荐(0) 编辑
摘要:数据结构与算法总结 常用数据结构 数组 字符串 栈 队列 链表 树 图 常用算法 递归 查找 排序 搜索 动态规划 分治 回溯 位运算 阅读全文
posted @ 2022-06-27 11:16 cfdroid 阅读(22) 评论(0) 推荐(0) 编辑
摘要:动态规划 动态规划的求解思路: 动态规划可以说是一种思想:自上而下分析问题,自下而上解决问题。 什么意思呢,就是把一个大问题分解成若干个小问题,对每个小问题求解,求的解存储在一维数组或者二维数组中。 然后自下而上解决问题,意思就是每个小问题求解完毕后,再去求解较大的问题,直到最后问题解决。 将原问题 阅读全文
posted @ 2022-06-26 17:23 cfdroid 阅读(15) 评论(0) 推荐(0) 编辑
摘要:Android系统启动流程简单分析 系统启动的大致流程为: 当Kernel启动过程会创建init进程。 init进程会启动servicemanager(binder服务管家), Zygote进程(Java进程的鼻祖). Zygote进程会创建 system_server进程以及各种app进程, 1. 阅读全文
posted @ 2022-06-04 20:13 cfdroid 阅读(160) 评论(0) 推荐(0) 编辑
摘要:ANR原理分析 前言: ANR,应用程序无响应。触发后会弹一个dialog,提示用户。 主要分析以下几点: ANR触发场景 ANR产生的过程 ANR分析方法 ANR监控 1. ANR触发场景 ANR类型 超时时间 报错信息 输入事件(按键、触摸等) 5s Input event dispatchin 阅读全文
posted @ 2022-06-03 18:17 cfdroid 阅读(191) 评论(0) 推荐(0) 编辑
摘要:RSA加密过程分析 1.RSA简单介绍 1.1 RSA用法 简单说就是服务端创建公钥给到客户端,客户端通过公钥进行加密处理,把密文发送给服务端,然后服务端通过私钥进行解密。 那么公钥和私钥是怎么来的,又是怎么利用公钥加密,私钥解密的,且看下文分析。 2.RSA加密算法推导分析 2.1 欧拉φ函数和费 阅读全文
posted @ 2022-06-02 19:36 cfdroid 阅读(405) 评论(0) 推荐(0) 编辑
摘要:AMS启动过程分析 首先ams是在system_server进程 system_server具体实现是 frameworks/base/services/java/com/android/server/SystemServer.java AMS启动流程图分析 1.SystemServer#main( 阅读全文
posted @ 2022-06-02 16:42 cfdroid 阅读(163) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示