Wxy's Blog
  • 首页
  • 归档
  • 标签
  • 关于
  • 友链
不因虚度年华而悔恨,不因碌碌无为而羞愧

设计模式--装饰模式

动态的给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更加灵活。 装饰模式-组成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

OkHttp-HTTPDNS实践

2020-02-19
#设计方案

Kotlin协程原理

在Kotlin-协程介绍了大部分概念,现在需要针对这些概念进行详细的说明以及分析。 协程是轻量级的线程 阅读地图(按问题定位) 1. 协程是什么:概念与术语 2. 协程怎么运行:核心组件与调度 3. 协程怎么用好:构造、启动、取消 4. 协程为什么能挂起:原理实现 5. 知识点总结(可口述) 6. 参考与延伸 展开子目录(细分知识点) 协程概念 概念介绍 协程与线程的关系(易混点)
2020-09-04
#Kotlin

OpenGL-环境配置

在Mac环境下进行OpenGL的学习配置
2022-01-25
#OpenGl

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

Rust初识

2023-02-26

如何科学刷题

为什么要科学刷题刷题低效,很多时候不是不够努力,而是顺序不对:题目太难,容易频繁受挫;题目太简单,又会陷入机械重复。更稳妥的做法,是让题目难度始终略高于当前水平,在“能思考、能复盘、也能持续推进”的区间里训练。 如果是算法新手,建议先完成 「新」动计划 · 编程入门,先把数组、字符串、哈希、模拟这类基础实现题过一遍,再进入系统化专题训练。 刷题前先记住这几条 每题先独立思考至少 15 分钟,实在没
2026-03-08
#算法
1…91011

搜索

Hexo Fluid