240 发简信
IP属地:浙江
  • 120
    Android启动流程简析(一)

    最近一时兴起,想对Android的启动流程进行一次分析,经过一番整理,从以下几个方面进行总结,代码部分只讨论思路,不论细节。 Android架构介绍 Android启动概述 ...

  • Flow学习小记

    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.xml文件中取build.gradle中的值

    目前很多项目都会把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时,该协程中的异常不会向外传播,因此不会影响其父...

  • 120
    协程异常、取消、失败处理

    协程异常捕获方式:CoroutineExceptionHandler CoroutineExceptionHandler是CoroutineContext的子类,可以用“+”...

  • 120
    Android消息机制:Handler浅析

    Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。Android规定访问UI只能在主线程进...

  • Room存储之复杂数据存储(List)

    阅读建议:此篇文章基于room的简单使用,如果你还没使用过room存储,可以先阅读官方文档 假设存在如下一个Bean 使用Room存储改造的Bean 上面的代码直接使用roo...

  • 太复杂的布局可以用代码实现,布局重叠的地方拖拽有时候会拖错

    ConstraintLayout:利用鼠标拖拽设计界面

      参见工作以来,写布局文件一直是我觉得最痛苦也最浪费时间的流程,稍微复杂一点的界面就需要利用各种LinearLayout和RelativeLayout来嵌套完成界面,利用嵌...

  • 暂时没遇到过这个问题,是不是你Bottom没指定?

    ConstraintLayout:利用鼠标拖拽设计界面

      参见工作以来,写布局文件一直是我觉得最痛苦也最浪费时间的流程,稍微复杂一点的界面就需要利用各种LinearLayout和RelativeLayout来嵌套完成界面,利用嵌...

  • 120
    Flutter中的JSON和序列化

    Flutter中的JSON和序列化 前言:本篇文章适合已经了解Dart基础语法的情况下阅读,若你对于Dart的一些基础语法还不熟悉,请移步于Dart中文网先学习基础语法,在阅...

  • 120
    ConstraintLayout:利用鼠标拖拽设计界面

      参见工作以来,写布局文件一直是我觉得最痛苦也最浪费时间的流程,稍微复杂一点的界面就需要利用各种LinearLayout和RelativeLayout来嵌套完成界面,利用嵌...

  • 120
    写给Android开发者的Kotlin入门

    Google在今年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿Android的人,我们必须尽快了解和使用Kotlin语言。 不...

个人介绍
我知道我想要什么,所以我必须努力