设计模式--装饰模式 动态的给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更加灵活。 装饰模式-组成Component抽象构件 component是一个接口或者抽象类,定义了我们最核心的对象,也就是最原始的对象。 1234public abstract class Component{ //抽象方法 public abstract void operate();} 2019-01-11 #设计模式
组件间通信——LiveDataBus LiveData是一个可以被观察的数据持有类,可以感知并遵循Activity、Fragment,Service等组件的生命周期。由于这种特性可以使他做到在特定生命周期执行特定的操作。 LiveData优点: UI和实时数据保持一致:可以在数据发生改变时立即响应到 避免内存泄漏:当绑定的组件被销毁时,会自动清理数据以及移除引用,避免泄漏 根据上述优点,就可以利用LiveData去实现一个组件 2019-03-21 #Android
Jetpack-Lifecycle简析 Lifecycle简介Google官方提供的一个生命周期感知组件。可以由引用组件自己进行生命周期管理,从而减少内存泄露以及异常的可能性。 让我们自己创建的对象也可以感知到Android组件的生命周期。 核心设计模式观察者模式。 Lifecycle使用示例先构建需要监听生命周期的组件 1234567891011public class LifeCycleComponent implements L 2019-02-15 #源码解析
Mac软件清单 电池管理软件bclm-Github AIDente 开发工具Android Studio 3.6.3 https://dl.google.com/dl/android/studio/install/3.6.3.0/android-studio-ide-192.6392135-mac.dmg 2020-09-17 #Mac
Kotlin协程原理 在Kotlin-协程介绍了大部分概念,现在需要针对这些概念进行详细的说明以及分析。 协程是轻量级的线程 阅读地图(按问题定位) 1. 协程是什么:概念与术语 2. 协程怎么运行:核心组件与调度 3. 协程怎么用好:构造、启动、取消 4. 协程为什么能挂起:原理实现 5. 知识点总结(可口述) 6. 参考与延伸 展开子目录(细分知识点) 协程概念 概念介绍 协程与线程的关系(易混点) 2020-09-04 #Kotlin
ThreadLocal原理分析 ThreadLocal详解 在前几节Handler详解中介绍 如何获取Looper对象时提及了是利用ThreadLocal来进行Looper的存储与获取。 1.初步理解ThreadLocalThreadLocal,线程本地存储区(Thread Local Storage,简称为TLS) ThreadLocal的定义为:**用于提供线程变量,在多线程环境中可以保证各个线程的变量独立于其他线程里的 2018-12-09 #源码分析
Android9.0源码编译记录 下述操作系统均为 Manjaro 20.02。编译源码版本为Android 9.0. 内核版本为goldfish-4.14 Android源码编译下载源码编译配置123456789#在ArchLinux下需要主动配置export LC_ALL=C#在 /usr/lib/locale 目录下生成C.UTF-8文件夹locale_gen#在Ubuntu下 不需要执行改操作 编译环境ArchL 2020-11-11 #源码
Ubuntu18.04 双系统安装笔记 主要用来记录在Win10 系统上安装Ubuntu18的过程 下载镜像制作系统启动U盘分区设置遇到的问题及解决方案 Ubuntu系统删除 2021-01-16 #Ubuntu
Java-CountDownLatch原理及解析 CountDownLatch原理及解析CountDownLatch基础概念CountDownLatch可以理解为一个一次性的同步计数器。它内部维护了一个计数值: 初始化时指定计数大小 一个或多个线程调用await()进入等待 其他线程通过countDown()不断将计数减1 当计数减到0时,所有等待线程继续向下执行 它解决的核心问题是:让某个线程(或某批线程)等待另外一些操作全部完成之后再继续 2020-10-08
如何科学刷题 为什么要科学刷题刷题低效,很多时候不是不够努力,而是顺序不对:题目太难,容易频繁受挫;题目太简单,又会陷入机械重复。更稳妥的做法,是让题目难度始终略高于当前水平,在“能思考、能复盘、也能持续推进”的区间里训练。 如果是算法新手,建议先完成 「新」动计划 · 编程入门,先把数组、字符串、哈希、模拟这类基础实现题过一遍,再进入系统化专题训练。 刷题前先记住这几条 每题先独立思考至少 15 分钟,实在没 2026-03-08 #算法