- 博客(9)
- 收藏
- 关注
原创 Android:Activity.OnCreate方法中子线程可以更新UI,睡眠后不能更新UI的原因
因为在View中对 ViewParent 实现类有一个判断,当它不为空时才会执行到这里,而 ViewParent 在Activity生命周期的 OnResume 方法中才会被赋值。所以在 onCreate 方法中如果使用子线程是可以做一波更新UI操作的。线程在CPU中调度随机的关系,子线程到这个判断的时候,主线程可能并没有创建ViewParent并赋值。
2020-03-31 11:42:29 992
原创 使用git cherry-pick仅仅获取每次提交的修改部分
```git cherry-pick [commit]```获取到 本次commit所提交文件的修改部分,并拉取到本地。可以做到不关心提交时其他代码,仅仅只拉取本次提交中修改或增加的文件。一般用于分支较混乱,或者在同一个分支上开发时,后开发的需求需要先发版,中间开发的部分需要省略时。
2020-03-23 16:04:38 840
原创 Android系统中内部存储和外部存储(公有目录、私有目录、缓存目录)详解
内部存储是指系统内部存储空间,**在逻辑上用目录来区分的话就是data目录下的文件夹**除此之外data目录下有app目录存放系统下载的apk信息,有data目录存放各种文件例如:sharedPreferenced存储的文件在 /data/data/<packagename>/shared_prefs/目录下。Sqlite存储的文件在 /data/data/<packagename>/database/目录下。
2020-03-19 16:20:26 6748
原创 Java访问控制修饰符
Java访问控制修饰符1. 公有访问控制符(public)Java的类是通过包的概念来组织的,包是类的一个松散的集合。处于同一个包中的类可以不需要任何说明二方便地相互访问和引用,而对于不同包中的类,则不行。但如果一个类被声明为public时,它就具有了被其他包中的类访问的可能性,只要这些其他包中的类在程序中使用了import语句引入了public类,就可以访问和引用这个类。每个Java程...
2020-03-18 21:32:03 201
原创 Android事件分发机制流程源码详解
Android上面的View是树形结构的,View可能会重叠在一起,当点击的地方有多个View可以响应的时候,这个点击事件应该给谁呢?为了解决这个问题,就有了事件分发机制。Android中每一次用户与界面的交互,点击、长按、移动、抬起等都是一个事件每一个事件从屏幕上传递到各个view上,并由某个view来处理事件(消费事件)或忽略事件(不消费事件)的这一整个过程的控制。称为事件分发机制。
2020-03-10 17:02:03 294
原创 Android中为什么主线程不会因为Looper.loop里的无限循环ANR?
在学习了Android Handler机制之后,产生了一个问题:为什么在主线程中Looper.loop()运行了一个死循环,但是并没有造成ANR?
2020-03-03 11:27:05 513
原创 Android handler机制流程详解
一条线程Thread对应唯一的一个Looper,其对应相关的信息存储在ThreadLocal中。一个Looper对象持有一个自己的MessageQueue。在同一条线程中,无论创建多少handler,都只对应一个Looper和一个MessageQueue。因此,handler在被创建时就根据Looper与对应的线程进行了绑定,即使在别的线程根据该handler发送了消息,也会被发送到handler对应的Looper的MessageQueue消息队列中并被分发处理
2020-03-03 11:18:49 536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人