Framework
文章平均质量分 94
冬天的毛毛雨
这个作者很懒,什么都没留下…
展开
-
Handler消息机制和ThreadLocal原理
一、简介 Handler作为Android线程间通信的常用方式,主要由Handler、Looper、MessageQueue、message四个部分组成 , Handler负责线程间消息通讯的发送消息和接收处理消息 Looper用于从MessageQueue中轮询获得Message MessageQueue则是一个单线链表的用于存储Message的数据结构 Message则是线程间通信的载体 总体流程图如下 简单使用,如下子线程发送message,主线程更新UI private Handler han原创 2022-03-06 21:55:56 · 2664 阅读 · 0 评论 -
Android 开发如何从应用深入到Framework?
前言 作为一个基本上可以说是从0开始起步读源码,到现在已经完成了一系列源码剖析技术文章的作者来讲,我觉得我的经验还是有一定的可借鉴性的 如何深入学习Framework源码? 首先,我也是一个应用层开发者,我想大部分有“如何深入framework源码”这个疑问的,应该大都是应用层开发 那对于我们来讲,读源码最大的问题,其实是没有应用场景,或者说短期来看成本高,收益底,容易半途而废 一、 针对这个问题,首先是要要有一定的定力和研究精神,打算拿下哪部分的源码分析,即使遇到再多的问题,也要想办法解决,自己定的目标原创 2022-03-04 21:01:49 · 330 阅读 · 0 评论 -
AMS中关于内存回收的一些操作
作者:tracyliu 1.内存回收 当 Android 应用程序退出时,并不清理其所占用的内存,Linux 内核进程也相应的继续存在,所谓“退出但不关闭”。从而使得用户调用程序时能够在第一时间得到响应。 当系统内存不足时,系统将激活内存回收过程。为了不因内存回收影响用户体验(如杀死当前的活动进程), Android 基于进程中运行的组件及其状态规定了默认的五个回收优先级: IMPORTANCE_FOREGROUND: IMPORTANCE_VISIBLE: IMPORTANCE_SERVICE: I.转载 2022-03-04 14:37:16 · 454 阅读 · 0 评论 -
精准化测试看ASM在Android中的强势插入-ASM
作者:徐宜生 ASM是一个操纵字节码的开源工具,可以在编译期间对原始字节码插入一些新的逻辑,它通常会和Gradle Transform配合使用。 ASM包含两种API使用方式——Core API和Tree API,大部分场景下都是使用Core API。 Core API是基于事件访问的形式来表示类,把类抽象为一系列事件,每个事件表示类的一种元素,例如它的一个标头、一个字段、一个方法声明、一条指令等。 Core API定义了一组可能事件,以及这些事件必须遵循的访问顺序,还提供了一个ClassVisitor.转载 2022-02-28 14:52:04 · 441 阅读 · 0 评论 -
这些关于 Handler 的知识点你都知道吗?
在安卓面试中,关于 Handler 的问题是必备的,但是这些关于 Handler 的知识点你都知道吗? 一、题目层次 Handler 的基本原理 子线程中怎么使用 Handler MessageQueue 获取消息是怎么等待 为什么不用 wait 而用 epoll 呢? 线程和 Handler Looper MessageQueue 的关系 多个线程给 MessageQueue 发消息,如何保证线程安全 Handler 消息延迟是怎么处理的 View.post 和 Handler.post 的区别 Han原创 2022-02-12 21:09:50 · 225 阅读 · 0 评论