Android学习笔记
文章平均质量分 68
存放Android方面学习笔记
安卓夜问
应无所住,而生其心。
展开
-
Activity启动流程
本文旨在记录activity的整体的启动流程,不拘泥于细节,从整体把握启动流程。有些细节无法写的很清楚,目的在于打通这一流程。原创 2022-12-08 17:58:09 · 503 阅读 · 0 评论 -
利用Matrix对ImageView进行简单的位移、缩放、旋转和错切
利用矩阵对ImageView进行简单的位移、缩放、旋转和错切的操作。原创 2022-11-21 16:51:24 · 1409 阅读 · 0 评论 -
adb常用命令
本文记录adb的一些常用命令,后续会陆续更新。原创 2022-11-17 16:07:24 · 704 阅读 · 0 评论 -
Activity启动模式(launchMode)
本文通过dump activity(只打印关键信息)的方法来研究学习Activity的启动模式。原创 2022-10-26 11:03:32 · 213 阅读 · 0 评论 -
Android事件分发
事件分发,我的理解是用户的输入事件(包括按键和触摸事件)由底层传至上层寻找消费这个事件的View控件的过程。原创 2022-09-02 18:51:37 · 471 阅读 · 0 评论 -
setContentView做了什么
Activity是Android系统的一个展示型组件,负责向用户展示一个界面并且可以接收输入事件并进行处理。在开发应用时,我们会将要展示的界面写在xml里,在java代码里去处理自己的业务逻辑,那就有个疑问xml跟我们的java代码是怎么关联起来的呢,这就必须要看看onCreate的setContentView做了些什么。原创 2022-09-01 19:10:47 · 677 阅读 · 0 评论 -
Android Handler机制中Message的flags问题
本文讨论Handler机制中Message类的一个小细节,不设计Handler机制的原理,仅是小细节。Message有这样两个“属性”:是否处于使用(in use)状态,是否为异步(asynchronous)消息。如果是我编写Message类,我想我肯定会定义两个字段,一个是 boolean inUse;另一个是boolean asynchronous。但是别人只用了一个flags字段,就搞定了两个“属性”。下面看看别人具体是怎么实现的。下面是关键代码:/*Message.java/原创 2022-05-12 10:59:46 · 319 阅读 · 0 评论 -
Android广播的注册和发送原理(基于Android S)
Android广播机制采用类似于“发布-订阅”者的设计模式,基于Binder机制,实现了一对多的通信。从整体的角度看,广播的使用主要设计两个“动作” ,“注册广播”和“发送广播”,以及三个“角色”,发送方,接收方和中间人。为什么需要中间人,因为有了中间人的存在,就可以减少发送方和接收方的工作而不用去关心具体的实现细节。三者关系可参考下图:AMS就是上面提到的中介,也是最重要的角色。Receiver向AMS注册自己感兴趣的广播,AMS则必须将所有必要的信息记录下来,比如Receiver的.原创 2022-04-24 17:07:23 · 2631 阅读 · 0 评论 -
Android Handler机制的实现原理
下图是我根据自己理解画的一张Handler的主要角色关系图,本文将根据这张图来对Handler机制的源码进行分析。Handler机制几个主要角色的关系图ThreadA本来跟ThreadB一样,是不能接收并处理其他Thread的消息的,那ThreadA后来经历了什么开始变大变强了呢?这一切都得从一行代码说起。framework\base\core\java\android\app\ActivityThread.java public static void main(String[]原创 2022-04-01 17:21:23 · 2386 阅读 · 0 评论 -
站在设计者的角度去思考和学习Handler机制
尝试站在设计者的角度去思考和学习Handler机制原创 2022-03-18 17:30:29 · 2995 阅读 · 0 评论