如何学习 C++

存不存在一种既有趣又有效的学习方法呢?假如我们把编程领域最优秀的人所使用的学习方法叠加在一起,并按交叉点多少对这些学习方法进行排序,得到一份榜单。试想一下,“勤奋学习”会在这份榜单上的什么位置呢?让我们将聚光灯转向榜单上的其它学习方法吧。

x86、x86_64、x64、amd64 和 ARM、AArch64 指令集架构简介

指令集是一个计算机系统支持的所有机器指令的集合,被视为软硬件之间的分界面。计算机系统的基本工作过程是:程序员编写的软件经过编译器翻译成可执行程序,即一个机器指令的序列,然后由底层硬件逐条读取这些指令来执行。因此,软件最终体现为指令集中的各种指令。

Android AIDL 服务端客户端双向死亡监听和”连接后执行”的几种尝试

有关 AIDL 详细介绍可直接阅读官网的 Android 接口定义语言 (AIDL) ,这篇博客,就让我们专注于通信的进程双方死亡的互相监听和对 AIDL 接口使用时的安全封装。

ViewBinding 封装

ViewBinding 视图绑定功能可让您更轻松地编写与视图交互的代码。在模块中启用视图绑定后,它会为该模块中显示的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。

ZoomImageView 实现指南(上篇)

ZoomImageView 是一个自定义的 ImageView 控件,用于实现对图片的手势缩放、双击缩放以及放大后的平移查看等功能。在我之前的 MeetPhoto 项目中,图片预览功能使用了一个开源 ZoomImageView 控件(这个控件基于 PhotoView 实现,因其代码量较少而选择它)。但我发现这个控件在某些方面的用户体验并不理想,所以我决定对其进行优化,便是这篇博客的由来。

Android Scroller

Android Scroller 是一个帮助 View 滚动的辅助类,Scroller 本身不会去滚动 View,它只是一个滚动计算辅助类,用于跟踪控件滑动的轨迹(Scroller 滚动分为两种类型,SCROLL_MODE 类型本质上是一个插值器,FLING_MODE 类型模拟物理世界的摩擦力,计算出减速度作用于滚动)。

Android 动画插值器

插值器定义了如何根据动画当前已播放时间来计算属性的值。例如,您可以指定动画在整个动画中线性播放,即动画在整个过程中均匀移动,也可以指定动画使用非线性时间,例如在动画开始时加速,在动画结束时减速。

CMake 简明教程笔记

本篇博客笔记基于 CMake 官方文档和 bilibili CMake 简明教程整理而来,旨在提供快速了解 CMake 的指南,为确保信息的准确性和完整性,请查看原始链接。

Android Apk 编译打包流程

本文通过手动编译 apk 的形式,带你了解 Android apk 的生成流程。

Android Gradle Plugin 编译流程

Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目 自动化建构 工具。Gradle 构建脚本使用的是 Groovy 或 Kotlin 的特定领域语言来编写的,而不是传统的 XML。 Android Gradle Plugin(AGP) 是 Android Studio IDE 上面,以 Gradle 为基础,添加了几项专用于构建 Android 应用功能的插件。

Repo 指令

Repo 是一个由 Google 开发的用于管理多个 Git 仓库的工具,它使得在一个项目中同时管理多个 Git 仓库变得更加简单和高效,Repo 工具通常与大型项目和代码库一起使用,例如 Android 开源项目。