最近一时兴起,想对Android的启动流程进行一次分析,经过一番整理,从以下几个方面进行总结,代码部分只讨论思路,不论细节。 Android架构介绍 Android启动概述 ...
最近一时兴起,想对Android的启动流程进行一次分析,经过一番整理,从以下几个方面进行总结,代码部分只讨论思路,不论细节。 Android架构介绍 Android启动概述 ...
Flow 冷流、热流概念 冷流:当数据被订阅的时候,发布者才开始执行发射数据流的代码。并且当有多个订阅者的时候,每一个订阅者何发布者都是一对一的关系,每个订阅者都会收到发布者...
4.会造成内存泄露,当Activity结束时,消息队列中还有消息时,activity没有被及时释放,此时就有可能会造成内存泄漏。解决方式也很简单,创建静态内部类Handler,然后采用弱引用方式持有activity
Android消息机制:Handler浅析Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。Android规定访问UI只能在主线程进...
3.ANR指的指当前的事件没有机会得到处理或者当前的事件正在处理,但没有及时完成。ActivityThread的main方法主要就是做消息循环,一旦退出消息循环,那么你的应用也就退出了。只要你对消息队列里面的消息一直都是会被处理的,那么就不会造车过ANR。但还有一种情况,如果你处理的消息时间太长,超过了阈值,那么也会造成ANR
Android消息机制:Handler浅析Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。Android规定访问UI只能在主线程进...
目前很多项目都会把AndroidManifest文件中的配置信息,放到build.gradle中自动化配置,我们当然也不能落后举个例子。 1.在module下的build.g...
2.线程安全,采用了循环加锁的方式,在处理完所有消息时会释放锁
Android消息机制:Handler浅析Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。Android规定访问UI只能在主线程进...
1.一个线程只能创建一个Looper 在创建时会进行校验,如果存在就会抛出异常
Android消息机制:Handler浅析Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。Android规定访问UI只能在主线程进...
5.协程中有一个规则:当一个协程的父协程是协程时,那么父级的job就是job。和父级的job是不是supervisorjob无关
kotlin协程的Job和SupervisorJob的一些笔记Job是协程的默认context 子协程不会继承父协程的context,会使用默认值 协程的上下文为SupervisorJob时,该协程中的异常不会向外传播,因此不会影响其父...
2子协程会继承部分父协程的content,一部分会使用默认值
kotlin协程的Job和SupervisorJob的一些笔记Job是协程的默认context 子协程不会继承父协程的context,会使用默认值 协程的上下文为SupervisorJob时,该协程中的异常不会向外传播,因此不会影响其父...
协程异常捕获方式:CoroutineExceptionHandler CoroutineExceptionHandler是CoroutineContext的子类,可以用“+”...
Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。Android规定访问UI只能在主线程进...
阅读建议:此篇文章基于room的简单使用,如果你还没使用过room存储,可以先阅读官方文档 假设存在如下一个Bean 使用Room存储改造的Bean 上面的代码直接使用roo...
太复杂的布局可以用代码实现,布局重叠的地方拖拽有时候会拖错
ConstraintLayout:利用鼠标拖拽设计界面参见工作以来,写布局文件一直是我觉得最痛苦也最浪费时间的流程,稍微复杂一点的界面就需要利用各种LinearLayout和RelativeLayout来嵌套完成界面,利用嵌...
暂时没遇到过这个问题,是不是你Bottom没指定?
ConstraintLayout:利用鼠标拖拽设计界面参见工作以来,写布局文件一直是我觉得最痛苦也最浪费时间的流程,稍微复杂一点的界面就需要利用各种LinearLayout和RelativeLayout来嵌套完成界面,利用嵌...
Flutter中的JSON和序列化 前言:本篇文章适合已经了解Dart基础语法的情况下阅读,若你对于Dart的一些基础语法还不熟悉,请移步于Dart中文网先学习基础语法,在阅...
参见工作以来,写布局文件一直是我觉得最痛苦也最浪费时间的流程,稍微复杂一点的界面就需要利用各种LinearLayout和RelativeLayout来嵌套完成界面,利用嵌...
Google在今年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿Android的人,我们必须尽快了解和使用Kotlin语言。 不...