- 博客(7)
- 收藏
- 关注
原创 Handler消息发送时序理解
1. Handler消息先后发送的场景step1, 消息无延时,直接发送,在消息真正处理的地方耗时3s(执行3s睡眠),然后打印log结束任务;step2,消息延时发送1s, 在消息真正处理的地方无耗时,直接打印log结束任务;那么发送的两个消息,那个log会先被执行?private Handler handler = new Handler(Looper.getMainLooper())...
2020-04-15 23:05:47
513
原创 Handler消息循环、发送和处理
Handler本质是一个事件驱动模型,比如在Activity、service启动回调的生命周期,view的布局等都是将事件封装成Message,然后通过handler加入到MessageQueen中依次执行。一. 消息循环应用启动入口在ActivityThread,main()方法内调用一些初始化或其他方法后,最后开始执行一个Looper死循环。每一个线程仅维护一个Looper(一个实例),...
2020-04-15 23:03:06
1286
原创 Android事件分发机制
1. 事件是如何传到Activity中去的?在Activity中的dispatchTouchEvent()方法中,调用Thread.dumpStack(),查看调用栈;java.lang.Exception: Stack traceat java.lang.Thread.dumpStack(Thread.java:1346)at com.example.motionevent.MainA...
2020-03-09 23:36:59
285
原创 UML类图
UML类图用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系:泛化(Generalization)实现(Realization)关联(Association)聚合(Aggregation)组合(Composition)依赖(Dependency)各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚...
2019-12-31 00:55:14
213
原创 Git基本操作
基本操作1. 初始化仓库git init2. 查看仓库的状态git status3. 向暂存区添加文件git add如果只是创建文件,该文件并不会记入Git仓库的版本管理对象,须要使用指令加入暂存区4. 保存仓库的历史记录`git commit 指令可以将当前暂存区中的文件保存到仓库的历史记录中;5. 查看更改前后的差别git diff 当前工作树与暂存区的区别git...
2019-06-11 20:37:11
121
原创 我所遇到的Activity的一些细节
1.当横竖屏切换时: ① 控件的状态是系统维护的,开发人员不用维护 ② 用户自定的变量会重新初始化 解决:1 横竖屏切换时: 重写onSaveInstanceState(),在这个方法中保存数据(里面含有Bandle参数) 重写onCreate()或onRestoreInstanceState(),从 Bundle 中解析出
2016-11-21 22:12:41
220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人