Handler分析(转载) 前言做 Android 开发肯定离不开跟 Handler 打交道,它通常被我们用来做主线程与子线程之间的通信工具,而 Handler 作为 Android 中消息机制的重要一员也确实给我们的开发带来了极大的便利。 可以说只要有异步线程与主线程通信的地方就一定会有 Handler。 那么,Handler 的通信机制的背后的原理是什么? 本文带你揭晓。 注意:本文所展示的系统源码基于 Androi 2024-10-22 Android 进阶 #Android
Handler 常见问题分析 1. 一个线程有几个 Handler?一个线程可以有无数个handler。 2. 一个线程有几个 Looper?如何保证?123456private static void prepare(boolean quitAllowed) { if (sThreadLocal.get() != null) { throw new RuntimeException 2024-10-21 Android 进阶 #Android
内存管理 内存管理1.内存的基础知识1.1存储单元内存的作用:存放数据。程序执行前需要先放到内存中才能被CFPU处理。 意义:缓和CPU与硬盘之间的速度矛盾。 存储单元:内存中的最小存储单位。可以理解成内存中的一个个的小房间。 内存地址从0开始(逻辑地址),每个地址对应一个存储单元。 计算机分为“字节编码”和“字长编码” 如果是字节编码的计算机,每个存储单元的大小是1B(byte),也就是8个二进制位( 2024-09-11 #操作系统
android 源码的编译-1 我们顺利的将AOSP下载了下来后,很多时候我们不仅仅需要去查看源码,还有以下的几个需求: 定制Android系统 将最新版本的Android系统刷入到自己的Android设备中 将整个系统源码导入到Android Studio中 动态调试Android系统源码 (不一定需要导入全部的源码,部分源码也可以调试) 源码编译相关名词: Makefile: make命令执行时,需要一个 Makef 2024-03-19 Android 进阶 #Android
framework初识 Framework初识什么是 Android Framework开发? Android Framework开发是指针对Android操作系统框架层进行的软件开发工作。这一层次是Android平台的核心部分,它为应用程序开发者提供了APIs和系统服务,并定义了应用程序如何与系统交互的标准机制。 在Android Framework开发中,开发者可能涉及的工作内容包括但不限于: 系统服务开发: 2024-02-29 Android 进阶 #Android
Audio 相关词汇 ABR 自适应比特率。ABR算法是一种在播放过程中从多个音轨中进行选择的算法,其中每个音轨以不同的比特率呈现相同的媒体。 Adaptive streaming 自适应流媒体 在自适应流媒体中,可以有多个音轨以不同的比特率呈现相同的媒体。在播放过程中,使用ABR算法动态选择所选曲目。 Access unit 访问单元 媒体容器中的数据项。通常指可以解码并呈现给用户的一小段压缩媒体比特流( 2024-02-24 Android #音视频
ExoPlayer的官方应用(demo) 在ExoPlayer的官方GitHub地址上的README文档上,已经更新为V2.19.0版本 项目地址 在此版本ExoPlayer更新迁移到了AndroidX的Media3框架内迁移后的项目地址 ExoPlayer 介绍ExoPlayer是Android的应用程序级媒体播放器。它提供了一个 替代 Android 的 MediaPlayer A 2024-02-23 Android #音视频
状态模式(java版) 1. 定义对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变 时改变其行为 2. 类型行为型(behavioral) 3.介绍优点: 1、封装了转换规则。 2、枚举可能的状态,在枚举状态之前需要确定状态种类。 3、将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。 4、允许状态转换 2024-02-05 设计模式 #Java
计算机网络-网络层 网络层1.网络层功能概述主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。 功能: 路由选择与分组转发(最佳路径) 异构网络互联 拥塞控制(若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞) 开环控制——静态控制 闭环控制——动态控制 2.SDN的基本概念2.1 概念引入:2.2 网络层 2024-02-04 计算机网络 #基础
git基本命令-2 一、Git 基本概念在介绍如何进行git版本回退前,我们需要先了解下git中的4个区: 工作区(Working Area):就相当于我们的工作空间的目录,我们代码本地存放的地方。 暂存区(Stage):也称作Index,用来跟踪已暂存的文件,一般是存在.git下的index文件,所以有时也称暂存区为索引。 本地仓库(Local Repository) 远程仓库(Remote Repos 2024-02-01 工具知识 > Git #Git