Android-基础&进阶
文章平均质量分 90
胡帅君
这个作者很懒,什么都没留下…
展开
-
白话Android音频系统原理
白话Android音频系统原理一、基本原理二、详细逻辑三、播放流程一、基本原理谁来处理(录音和播放)? AudioFlinger!怎么处理?AudioPolicyService !什么是output?为了便于管理, 把一个设备上具有相同参数的一组device称为output。它描述一些实际支持的设备(有实际硬件)一个output对应一个线程thread。二、详细逻辑从frameworks/av/media/audioserver/main_audioserver.cpp开始,初始化Audi原创 2022-02-16 19:49:29 · 3159 阅读 · 0 评论 -
Android Studio工程导入aar文件方式之一
文章目录1.导入aar文件。2.引用该module。Android集成aar包有多种方式,在此提供一种作为参考,采用其他正确集成方式都可行。1.导入aar文件。点击Android studio 右上角的 Project Structure按钮 ,或者从菜单栏File->Project Structure 路径选择。在弹出的对话框中选择Modules->Modules下面的...原创 2020-02-25 11:30:24 · 4468 阅读 · 0 评论 -
Android SQLite使用总结
文章目录1.背景2.原生使用方式及相关知识点3.ORM框架方式——greenDAO使用1.背景做Android app开发,数据持久化,即数据存储的场景是一定会遇到的。选择SQLite数据库存储数据是常见方式之一。SQLite的使用并不是一件很复杂的事,一般集成使用SQLite的方式有2种:一是完全自定义SQLiteOpenHelper,封装DatabaseManager,业务及事务处理大...原创 2019-12-01 22:09:13 · 728 阅读 · 0 评论 -
LRU算法(有彩蛋)
文章目录1.背景2.LRU详解2.1 什么是LRU?2.2 LRU算法设计2.3 新增&修改2.4 访问2.5 删除3.LRU实现3.1 Java自己封装实现3.2 基于LinkedHashMap实现4.彩蛋4.1 FIFO算法及实现4.2 LFU算法及实现4.3 HashMap数据结构及源码解析1.背景我们在各类缓存等应用场景中都涉及到LRU算法。接下来我仔细分析一下LRU算法的设计...原创 2019-11-24 19:30:27 · 530 阅读 · 0 评论 -
基于OKHttp的websocket封装使用
文章目录1.背景2.源码解析2.1基础封装2.2使用3.相关知识点3.1 websocket协议3.1.1、客户端:申请协议升级3.1.2、服务端:响应协议升级3.1.3、数据帧3.2 返回数据Demo源码请点击1.背景一般使用到websocket协议的应用场景都是持续保持长连接,直到业务处理完毕,不再需要保持连接时,则close掉连接。那么官方给出的指导使用文档足咦。我近期工作上接到的任务...原创 2019-11-22 20:16:14 · 3831 阅读 · 0 评论 -
Andorid基于Glide v4版本封装图片加载工具类
文章目录1.背景2.封装成果2.1类源码2.2 调用2.3使用介绍3.其他Demo源码请点击1.背景一个app中的图片加载类肯定是要封装后再使用的。一方面调用方式统一,另外是稍加调整或更换图片加载库也方便。Android的图片加载类库有很多,目前主流的Glide用起来是相当丝滑的,本文是基于v4以后的版本的介绍。框架里一般的使用方法,及常用方法,各位自行百度google,这里介绍几个我关注的...原创 2019-11-22 17:12:26 · 619 阅读 · 0 评论 -
支持超长文本日志打印的工具类
文章目录1、背景2、类源码3、代码解析3.1、调用方法3.2、解析3.3、注意Demo源码请点击1、背景本日志打印工具类支持超长文本信息打印,支持点击日志直接定位到对应代码行。 我有借鉴com.orhanobut:logger这位兄弟的代码。废话不多说,直接上效果图。2、类源码public class HLogger { public static boolean DEBUG...原创 2019-11-20 20:49:25 · 282 阅读 · 0 评论 -
基于okhttp3+retrofit2封装的网络库(含websocket封装)
基于okhttp3+retrofit2封装的网络库背景接入方式1.导入hsjokhttp module。2.接入使用3.网络库解析背景封装的网络库基于okhttp3+retrofit2+rxandroid+rxjava。目的是单独封装处理网络请求,可供项目中多个module使用,所以Demo中代码模块拆的比较细。包含hsjokhttp(网络库封装)、hsjlogger(日志打印)、bean(对...原创 2019-11-17 16:54:13 · 4165 阅读 · 0 评论