自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李斯维的博客空间

都是自己的一些东西,不好不好,还需努力。。。

  • 博客(104)
  • 资源 (1)
  • 收藏
  • 关注

原创 Kotlin 中的属性访问器:设计的得与失

本文介绍 Kotlin 中的属性系统,特别是属性会生成的 getter、setter 方法,以及此特性的利弊。

2026-08-21 16:30:00 178

原创 Kotlin 中的委托:by 关键字全解析

by 关键字是 Kotlin 中非常高频的设计,尤其是在 Android 开发中。本文介绍了 Kotlin 中 by 关键字和委托的全方位的用法。

2026-08-04 11:06:32 372

原创 腾讯 Mars XLog 日志框架的编译和修改

腾讯 Mars XLog 是一个高性能的端上日志打印方案,本文介绍如何修改它的源码并重新编译,以生成最新的 so 库。

2026-07-31 11:36:02 173

原创 Jetpack UI状态模型 ViewModel 的入门和使用

ViewModel 是 Jetpack 中非常重要的一个库,它与 Lifecycle、LiveData 构建了 MAD 的三大基础组件。在 ViewModel 之前,Activity 负责处理所有内容,这使得其变得极为庞大,并且需要负责由于其混乱的生命周期带来的一系列问题。因此,ViewModel 在推出之后就以摧枯拉朽之势席卷了整个 Android 开发界。本文将带你走进 ViewModel,看看它的前世今生,以及使用方法。阅读此文,你必将对 ViewModel 有一个新的认识。

2026-07-28 21:25:36 313

原创 腾讯 XLog 日志框架 Android 端接入

mars 是微信官方的终端基础组件,是一个使用 C++ 编写的业务性无关,平台性无关的基础组件。其中的 XLog 是其中可以独立使用的日志模块,本文将介绍 XLog 的引入和使用,以及注意事项。

2026-07-02 10:51:50 271

原创 从历史的角度看 Android 软件架构

本文回顾了Android开发架构的演进历程,从早期的无架构状态到MVC、MVP、MVVM等架构模式。文章首先描述了2014年移动互联网野蛮生长时期缺乏架构设计导致的技术债务问题,随后通过一个图片加载需求的实现,对比分析了不同架构的特点。

2026-06-28 15:44:17 170

原创 Jetpack 可观察数据容器 LiveData 的高级用法

本文介绍了LiveData的高级用法,包括四部分内容: map()、switchMap()、MediatorLiveData 和 observeForever()

2026-06-10 21:18:53 378 1

原创 Jetpack 可观察数据容器 LiveData 的入门与基础使用

本文介绍了Jetpack中的LiveData组件,它解决了Android开发中数据与UI同步的难题。LiveData是一种具有生命周期感知能力的可观察数据容器,能够自动在UI活跃时更新数据,并在界面销毁时停止分发,避免内存泄漏。文章详细讲解了LiveData的基本用法,包括创建MutableLiveData、添加观察者,以及setValue/postValue的区别。同时解释了LiveData与Lifecycle的关联机制,以及为何建议对外暴露不可变的LiveData类型。

2026-05-31 09:42:36 390

原创 Jetpack 生命周期组件 Lifecycle 的设计思想和使用

本文介绍了Android Jetpack中的Lifecycle组件,通过计时器案例展示了传统生命周期管理方式的弊端。Lifecycle的核心价值在于将生命周期变为可观察状态机,让组件能自主感知和响应状态变化,从而解耦业务逻辑与界面控制器。文章对比了传统实现方式与使用Lifecycle的差异,显示了 Lifecycle 在 Android 开发中的优势。

2026-05-17 14:45:48 565

原创 Android Jetpack 简介:由来和演进

Jetpack的诞生与发展是Google为解决Android开发长期存在的三大问题而推出的系统性方案:Support Library的混乱依赖、缺乏统一架构指导、库间设计不统一。为了解决这些问题,Google 提出了 Jetpack。本文介绍了 Jetpack 的基本情况,特别是其为什么会出现,解决了哪些问题,其历史又是怎样的。并对 Jetpack 对现代 Android 开发的影响做了主观说明。

2026-05-17 11:54:19 500

原创 Android 沉浸式(Edge-to-Edge)的介绍与应用

沉浸式是应用界面开发的不可避免要考虑的内容,在早期的 Android 应用中,屏幕的顶部是状态栏,底部是导航栏,而 APP 内容则被夹在中间,这种「三明治」式的布局结构长期主导 Android 设备的屏幕设计。不过这种"非沉浸式"设计,在 2024 年以后的 Android 生态里,正在逐渐被淘汰。Google 从 Android 15 开始,强制所有 App 启用 Edge-to-Edge(边缘到边缘)。也就是说,你的内容必须延伸到状态栏和导航栏的后面,否则在新系统上会出现诡异的空白或黑边。

2026-05-11 20:01:04 624

原创 工厂设计模式(Factory Pattern):工厂方法与抽象工厂的实例演示

工厂模式(Factory Pattern)是面向对象编程中最经典、也是最常用的创建型设计模式之一。简单来说,工厂模式的核心思想就是:将“创建对象”的过程封装起来。对象的使用方不需要知道对象具体是如何被 new 出来的,只需要告诉“工厂”自己需要什么,工厂就会把做好的对象交给你。

2026-05-09 19:39:57 429

转载 一张图 给孩子解释下什么是 Agent Skills

一张图 给孩子解释下什么是 Agent Skills

2026-02-13 15:28:39 85

原创 安装 Arch Linux 到 VMware Workstation 的完全指南

本章将会为读者介绍 Arch Linux 操作系统的安装和初步使用。

2026-02-13 15:23:11 1136

转载 一张图 给孩子介绍什么是 PWA

一张图 介绍什么是 PWA

2026-01-06 15:30:04 201

原创 使用 UltraISO 和 Ventoy 制作 U 盘启动盘

本文首先介绍一个老牌的 U 盘启动盘制作工具:UltraISO。当了解了这个老牌的制作工具后,就会发现它有一个很大的限制:U 盘中只能写入一个操作系统的镜像文件。为了解决这个问题,我们将继续介绍一个新的制作工具:Ventoy。

2026-01-06 15:18:20 1408

原创 安装 WSL 最好的方式

微软的 WSL 是一种使用 Linux 非常好的方式,如果通过 Microsoft Store 的默认方式安装 WSL 发行版,其 Linux 文件系统会被存放在 C 盘的指定位置,对于 C 盘空间紧张的电脑来说,这种方式并不友好。所以本文给大家介绍一个能够直接将 WSL 安装在其他位置的方式。

2025-12-19 18:51:09 3030

原创 第18章 过滤器:统计和格式化

本文是《UNIX 大学教程》第18章 过滤器:统计和格式化 的笔记

2025-12-19 18:39:55 745

原创 MBR 和 GPT 区别

本文接续 BIOS 与 UEFI 的主题,深入探讨计算机启动机制中的第二关键要素:硬盘分区表格式。文章首先介绍了分区、分区表和文件系统的基本概念,然后重点对比了 MBR 和 GPT 两种分区格式。最后总结了固件和分区的黄金搭配,即 BIOS 搭配 MBR,UEFI 搭配 GPT。

2025-12-18 16:16:46 1444

原创 第17章 过滤器:比较和抽取

本文是《UNIX 大学教程》第17章 过滤器:比较和抽取 的笔记

2025-12-18 16:10:04 817

原创 第2章 安装 Manjaro 操作系统

本文是《轻松学 Linux 从 Manjaro 到 Arch Linux》第2章 安装和使用 Mangaro 操作系统 的笔记

2025-12-17 12:56:03 968

原创 第16章 过滤器:简介和基本操作

本文是《UNIX 大学教程》第16章 过滤器:简介和基本操作 的笔记

2025-12-17 12:46:30 872

原创 第15章 标准IO:重定向和管道

本文是《UNIX 大学教程》第15章:标准IO:重定向和管道 的笔记

2025-12-16 17:06:14 1133

原创 第14 章 使用 shell:初始化文件

本文是《UNIX 大学教程》第14章 使用 Shell:初始化文件 的笔记

2025-12-16 16:43:55 828

原创 第13章 使用shell:命令和定制

本文是《UNIX 大学教程》第13章 Shell 的笔记

2025-12-12 16:52:33 864

原创 从 BIOS 到 UEFI:PC 固件的演变

在个人计算机的启动流程中,操作系统并不是开机后最先运行的程序。真正最早执行的是主板上的固件,它负责初始化硬件并为操作系统的加载做好准备。传统的固件标准是 BIOS(Basic Input/Output System),而现代 PC 则已经普遍采用了更先进的 UEFI(Unified Extensible Firmware Interface)。本文将系统性解析 BIOS 与 UEFI 的区别、演进原因以及你电脑当前究竟使用哪种模式。

2025-12-12 16:03:07 1256

原创 第12章 使用 Shell:变量和选项

本文是《UNIX 大学教程》第12章 Shell 的笔记

2025-12-02 11:54:15 974

原创 微内核与宏内核区别

系统是运行计算机的总控制程序,而内核则是操作系统的核心部分。本文章深入探讨了操作系统内核的两种主要类型:宏内核(单内核)和微内核。文章首先阐述了内核的基本职能,随后详细对比了两种设计的结构和优缺点。

2025-12-02 11:18:15 1244

原创 第11章 Shell

本文是《UNIX 大学教程》第11章 Shell 的笔记

2025-11-26 11:49:20 647

原创 布局性能优化利器:ViewStub 极简指南

ViewStub 是 Android 开发中优化布局性能的高频实用工具,它通过让布局按需加载,来解决一系列问题。本文将全面讲解 ViewStub 在使用中必知必会的那些点,还有注意事项。

2025-11-26 11:27:26 865

转载 一张图 看交换机与路由器的区别

一张图 看交换机与路由器的区别

2025-11-20 14:40:19 194

原创 从光照到颜色模型:一文读懂 RGB 与 CMYK 的色彩底层逻辑

本文从光这一物理起点出发,解读了显示器使用的 RGB 加法模型,以及打印业遵循的 CMYK 减法模型。最终,理解计算机如何通过 RGB 编码,统一抽象并精准模拟出大自然中数亿种色彩。一篇硬核科普,助你彻底掌握颜色模型的奥秘。

2025-11-20 14:35:56 962 1

转载 一张图 介绍你的ISP能看到什么?

你的ISP能看到什么?

2025-10-27 17:25:41 260

原创 BIOS 和 UEFI 区别

BIOS 和 UEFI 是电脑启动时用于初始化硬件并加载操作系统的两种固件,当你需要安装或者重装操作系统、更改硬件配置或进行系统修复时,则需要考虑电脑的启动模式,选择从BIOS启动还是UEFI启动。因此需要理解这两个概念。

2025-10-27 17:20:01 800

转载 一张图 介绍什么是字节流

一张图 介绍什么是字节流

2025-06-08 16:46:38 228

原创 循序渐进 Android Binder(二):传递自定义对象和 AIDL 回调

本文在上一篇介绍完 Binder 的基本概念和使用方式后,紧接着讲述了使用 AIDL 传递自定义对象,并且在此基础上通过示例演示了 Binder 两端的双向交互,即服务端回调客户端接口的实现方法。此文言简意赅,通俗易懂,通过此文的学习,大家能够掌握 Binder 更深层次的用法,为后续的 Binder 内容打下坚实基础。

2025-06-08 16:44:36 1373 1

转载 一张图 介绍6种最常见的服务器类型

一张图 介绍6种最常见的服务器类型

2025-06-02 22:50:45 265

原创 循序渐进 Android Binder(一):IPC 基本概念和 AIDL 跨进程通信的简单实例

在 Android 系统中,Binder 占有举足轻重的地位。本文讲解了与 Binder 相关的 IPC 的基本概念,并使用了一个基于 AIDL 的跨进程通信实例来演示的 Binder 的使用。带领大家逐步进入 Binder 的世界。

2025-06-02 22:41:36 1163

转载 一张图 解释Webpack是个什么玩意儿

一张图解释Webpack是个什么玩意儿

2025-03-23 17:16:48 198

原创 深度解析 Android Matrix 变换(二):组合变换 pre、post

文章介绍了 Android 中 Matrix 的组合变换,重点介绍了 preXXX 和 postXXX 方法的使用及其区别。并说明了变换顺序应为先缩放,再旋转,后平移,以确保效果符合预期。文章通过代码示例和动画展示了如何构建组合变换矩阵。

2025-03-23 16:56:09 1401

mips[64]el-linux-android-4.9.zip

此文件用于解决 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android 的问题。下载后需要将其解压到你的 NDK 目录下的 toolchains 文件夹中。在打开工程就不会遇到这个问题了。 注意此文件仅适用于 MAC。 此文件来源于 Android NDK r17c 版本中的 mips64el-linux-android-4.9 和 mipsel-linux-android-4.9。这也是新版本 NDK 中被删除的两个工具链。

2020-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除