240 发简信
IP属地:黑龙江
  • Jetpack-LiveData

    概述 LiveData是一个可以在给定生命周期内观察到的数据持有者类。一个观察者可以与一个LifecycleOwner成对地添加,并且只有当配对...

  • Resize,w 360,h 240
    JetPack-Lifecycle

    概述 Lifecycle是生命周期感知型组件,用于存储有关组件(如 Activity 或 Fragment)的生命周期状态的信息,并允许其他对象...

  • 手写一个简化版的EventBus

    EventBus相信很多人都很熟悉,虽然现在谷歌官方出了JetPack来替代,但EventBus的一些设计思路还是值得借鉴的。下面就来写一个简单...

  • 动态换肤

    换肤是什么? 通俗点来将就是修改View的属性。 就跟一个 setTextColor()一样,区别只是在于换肤一次性操作的是多个View。 换肤...

  • Resize,w 360,h 240
    张绍文android开发高手课读书笔记5-数据存储篇

    本系列博文 基于是前微信高级工程师张绍文专栏 《Android开发高手课》的读书笔记。文章所写内容是本人读完的感悟,需要原文的朋友请自行购买。 ...

  • 张绍文android开发高手课读书笔记4-启动优化篇

    本系列博文 基于是前微信高级工程师张绍文专栏 《Android开发高手课》的读书笔记。文章所写内容是本人读完的感悟,需要原文的朋友请自行购买。 ...

  • 日常积累2

    Android里如何让DialogFragment的宽度顶满屏幕? 在dialogFragment中的onstart()方法调用以下代码 多个字...

  • 细说接口和抽象类的区别

    本文主要说一个老生常谈的问题,接口和抽象类的区别,以及对应的使用场景。 抽象类 ​ 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特...

  • 进程与线程的区别

    进程和线程 进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是程序在执行过程中分配和管理资源的基本单位,每一个进程都有一个自...