Android高级进阶
文章平均质量分 91
Android高级进阶
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
杨充
GitHub:https://github.com/yangchong211
展开
-
悬浮窗开发设计实践
悬浮窗原创 2022-11-18 15:29:08 · 2054 阅读 · 0 评论 -
22.gRPC框架设计思想
03.视频播放器Api说明目录介绍01.最简单的播放02.如何切换视频内核03.切换视频模式04.切换视频清晰度05.视频播放监听06.列表中播放处理07.悬浮窗口播放08.其他重要功能Api09.播放多个视频10.VideoPlayer相关Api11.Controller相关Api12.边播放边缓存api13.类似抖音视频预加载14.视频播放器埋点00.视频播放器通用框架基础封装视频播放器player,可以在ExoPlayer、MediaPlayer,声网RTC视频原创 2020-10-16 09:24:47 · 3351 阅读 · 0 评论 -
21.OkHttp网络请求设计
02.视频播放器整体结构目录介绍01.视频常见的布局视图02.后期可能涉及的视图03.需要达到的目的和效果04.视频视图层级示意图05.整体架构思路分析流程06.如何创建不同播放器07.如何友好处理播放器UI08.交互交给外部开发者09.关于优先级视图展示10.代码项目lib代码介绍00.视频播放器通用框架基础封装视频播放器player,可以在ExoPlayer、MediaPlayer,声网RTC视频播放器内核,原生MediaPlayer可以自由切换对于视图状态切换和后期维原创 2020-10-15 17:41:54 · 1028 阅读 · 1 评论 -
20.视频播放器框架介绍
视频播放器介绍文档目录介绍01.该视频播放器介绍02.视频播放器功能03.视频播放器架构说明04.视频播放器如何使用05.播放器详细Api文档06.播放器封装思路07.播放器示例展示图08.添加自定义视图09.视频播放器优化处理10.播放器问题记录说明11.性能优化和库大小12.视频缓存原理介绍13.查看视频播放器日志14.该库异常code说明15.该库系列wiki文档16.版本更新文档记录00.视频播放器通用框架基础封装视频播放器player,可以在ExoPla原创 2020-10-15 09:41:05 · 3741 阅读 · 0 评论 -
19.Android线程池实践基础
目录介绍01.实际开发问题02.线程池的优势03.ThreadPoolExecutor参数04.ThreadPoolExecutor使用05.线程池执行流程06.四种线程池类07.execute和submit区别08.线程池的使用技巧01.实际开发问题在我们的开发中经常会使用到多线程。例如在Android中,由于主线程的诸多限制,像网络请求等一些耗时的操作我们必须在子线程中运行。我们往往会通过new Thread来开启一个子线程,待子线程操作完成以后通过Handler切换到主线程原创 2020-10-06 11:12:45 · 274 阅读 · 0 评论 -
18.Https详细分析
目录介绍01.为何会有Https02.解决方案分析03.SSL是什么04.RSA验证的隐患05.CA证书身份验证06.Https工作原理07.Https代理作用08.Https真安全吗09.Https性能优化01.为何会有HttpsHttp的缺点通信使用明文;通信使用明文意味着安全性大大降低,当通信过程被窃听后,无需花费额外的投入就可看到传输的数据。例如使用抓包工具,无需任何配置就可查看任何使用HTTP协议的通信数据;不验证通信方身份不验证通信方的身份,将导致原创 2020-09-25 19:24:41 · 856 阅读 · 0 评论 -
17.OkHttp请求耗时统计
目录介绍01.先提问一个问题02.EventListener回调原理03.请求开始结束监听04.dns解析开始结束监听05.连接开始结束监听06.TLS连接开始结束监听07.连接绑定和释放监听08.request请求监听09.response响应监听10.如何监听统计耗时11.应用实践之案例01.先提问一个问题OkHttp如何进行各个请求环节的耗时统计呢?OkHttp 版本提供了EventListener接口,可以让调用者接收一系列网络请求过程中的事件,例如DNS解析、T原创 2020-09-23 18:22:59 · 1733 阅读 · 1 评论 -
16.Xposed库实践设计
目录介绍01.下载安装02.抓包代理设置03.抓包Https操作04.抓包原理介绍05.抓包数据介绍06.常见问题总结07.Android拦截抓包01.下载安装下载地址(下载对应的平台软件即可)https://www.charlesproxy.com/download/下载破解文件https://assets.examplecode.cn/file/charles.jar打开Finder,在应用程序中选择Charles并右键选择显示包内容显示包内容后在Content原创 2020-09-21 19:33:37 · 1822 阅读 · 0 评论 -
15.Glide图片加载设计
目录介绍01.基础介绍02.stetho大概流程03.Android中应用04.如何使用05.案例截图如下06.网络请求接口信息07.如何使用ping01.基础介绍该工具作用诸葛书网络拦截分析,主要是分析网络流量损耗,以及request,respond过程时间。打造网络分析工具……参考stetho库地址https://github.com/facebook/stetho功能Stetho 是 Facebook 开源的一个 Android 调试工具。是一个 Ch原创 2020-09-11 20:26:43 · 999 阅读 · 1 评论 -
14.LeakCanary设计思想
基础概念目录介绍01.业务需求简单介绍02.实现的方案介绍03.异常状态下保存状态信息04.处理软键盘回删按钮逻辑05.在指定位置插入图片06.在指定位置插入输入文字07.如果对选中文字加粗08.利用Span对文字属性处理09.如何设置插入多张图片10.如何设置插入网络图片11.如何避免插入图片OOM12.如何删除图片或者文字13.删除和插入图片添加动画14.点击图片...原创 2019-12-25 18:25:19 · 3110 阅读 · 0 评论 -
13.算法之递归案例
目录介绍01.什么是递归02.递归三个条件03.斐波那契数列04.找指定目录下所有文件05.求1+2+…+N和06.求100的阶乘07.有序数组合并08.求一个数乘方09.背包问题10.选择一支队伍11.汉诺塔问题12.二分法查找13.警惕重复计算14.开源项目推荐01.什么是递归递归:在一个方法内部对自身进行调用。利用递归可以用简单的程序来解决一些复杂的问题...原创 2019-12-20 09:43:10 · 436 阅读 · 1 评论 -
12.Deeplink实践原理分析
目录介绍01.先看一个场景02.什么是DeepLink03.什么是Deferred DeepLink04.什么是AppLink05.DeepLink和AppLink核心技术06.DeepLink实践方案07.AppLink实践方案08.部分问题思考总结09.DeepLink原理分析10.AppLink原理分析01.先看一个场景假设一个场景:小明告诉小杨,一鹿有车A...原创 2019-12-09 18:53:36 · 559 阅读 · 0 评论 -
11.WebView封装设计实践
目录介绍01.前沿说明1.1 案例展示效果1.2 该库功能和优势1.3 相关类介绍说明1.4 WebView知识点02.如何使用2.1 如何引入2.2 最简单使用2.3 常用api2.4 使用建议2.5 异常状态类型区分2.6 该库流程图03.js调用3.1 Java调用js方法3.2 js调用java方法3.3 js的调用时机分析3.4 js交互...原创 2019-11-26 10:36:03 · 1238 阅读 · 1 评论 -
10.设计悬浮窗开发实践
目录介绍01.什么是ViewStub02.ViewStub构造方法03.inflate()方法解析04.WeakReference使用05.ViewStub为何无大小06.ViewStub为何不绘制07.可以多次inflate()吗08.ViewStub不支持merge09.ViewStub使用场景10.ViewStub总结分析好消息博客笔记大汇总【16年3月到至今】...原创 2019-11-21 12:53:43 · 1144 阅读 · 0 评论 -
09.TTS音频播放库技术设计
目录介绍01.基础使用目录介绍1.0.1 常用的基础介绍1.0.2 Android调用Js1.0.3 Js调用Android1.0.4 WebView.loadUrl(url)流程1.0.5 js的调用时机分析1.0.6 清除缓存数据方式有哪些1.0.7 如何使用DeepLink1.0.8 应用被作为第三方浏览器打开02.优化汇总目录介绍2.0.1 视频全屏播放按返...原创 2019-11-04 19:03:13 · 734 阅读 · 1 评论 -
08.串口通信方案建设设计
目录介绍01.前沿说明1.1 案例展示效果1.2 该库功能和优势1.3 相关类介绍说明02.如何使用2.1 如何引入2.2 最简单使用2.3 常用api2.4 使用建议03.js调用3.1 如何使用项目js调用3.2 js的调用时机分析04.问题反馈4.0.1 视频播放宽度超过屏幕4.0.2 x5加载office资源4.0.3 WebView播...原创 2019-09-23 13:34:44 · 1282 阅读 · 0 评论 -
07.隐私合规综合实践
目录介绍01.先来看一下需求02.有几种实现方式2.1 使用ViewPager2.2 使用RecyclerView03.用ViewPager实现3.1 自定义ViewPager3.2 ViewPager和Fragment3.3 修改滑动距离翻页3.4 修改滑动速度04.用RecyclerView实现4.1 自定义LayoutManager4.2 添加滑动监听...原创 2019-09-07 09:39:23 · 2389 阅读 · 0 评论 -
06.设计异步线程框架
目录介绍01.Sp简单介绍1.1 Sp作用分析1.2 案例分析思考02.Sp初始化操作2.1 如何获取sp2.2 SharedPreferencesImpl构造03.edit方法源码04.put和get方法源码4.1 put方法源码4.2 get方法源码05.commit和apply5.1 commit源码5.2 apply源码06.总结分析...原创 2019-08-30 15:41:01 · 836 阅读 · 0 评论 -
05.设计通用轮训方案
目录介绍01.基础组件(9篇)02.IPC机制(7篇)03.View原理(9篇)04.动画机制(2篇)05.Res资源(6篇)06.消息机制(12篇)07.多媒体(16篇)08.View事件(9篇)09.多线程(12篇)10.Window(19篇)11.WebView(4篇)12.网络相关(7篇)13.注解(14篇)14.音视频(13篇)15.优化相关(19篇)1...原创 2019-08-24 11:20:01 · 2097 阅读 · 1 评论 -
04.设计轻量级线程池库
目录介绍01.规则瀑布流实现02.不规则瀑布流实现2.1 实现方式2.2 遇到问题03.瀑布流上拉加载04.给瀑布流设置分割线05.自定义Manager崩溃06.如何避免刷新抖动07.为何有时出现跳动08.瀑布流图片优化09.onBindViewHolder优化10.瀑布流item点击事件优化11.Glide加载优化12.建议指定图片的宽高欢迎同行探讨瀑布流...原创 2019-08-12 18:48:45 · 1217 阅读 · 0 评论 -
03.设计通用缓存框架
目录介绍1.1 java.lang.UnsatisfiedLinkError找不到so库异常1.2 java.lang.IllegalStateException非法状态异常1.3 android.content.res.Resources$NotFoundException1.4 java.lang.IllegalArgumentException参数不匹配异常1.5 Illegal...原创 2019-08-08 03:22:47 · 1053 阅读 · 1 评论 -
02.国际化项目方案实践
目录介绍1.1 java.lang.UnsatisfiedLinkError找不到so库异常1.2 java.lang.IllegalStateException非法状态异常1.3 android.content.res.Resources$NotFoundException1.4 java.lang.IllegalArgumentException参数不匹配异常1.5 Illegal...原创 2019-08-07 22:40:16 · 1418 阅读 · 1 评论 -
01.设计高效日志框架库
目录介绍01.阴影效果有哪些实现方式02.实现阴影效果Api03.设置阴影需要注意哪些04.常见Shape实现阴影效果05.自定义阴影效果控件06.如何使用该阴影控件07.在recyclerView中使用注意点01.阴影效果有哪些实现方式阴影效果有哪些实现方式第一种:使用CardView,但是不能设置阴影颜色第二种:采用shape叠加,存在后期UI效果不便优化第三种...原创 2019-08-06 19:22:58 · 1064 阅读 · 0 评论 -
16.App启动优化实践
App启动优化实践原创 2019-06-21 15:57:15 · 217 阅读 · 1 评论 -
App磁盘沙盒工具实践
沙盒,磁盘工具,Android工具原创 2022-03-03 14:46:03 · 2738 阅读 · 0 评论 -
高性能图片优化方案
高性能图片优化方案原创 2022-10-16 11:55:22 · 2012 阅读 · 0 评论 -
移动端防抓包实践
移动端防抓包原创 2022-12-10 09:31:35 · 1073 阅读 · 0 评论 -
通用缓存存储设计实践
01.整体概述说明1.1 项目背景介绍1.2 遇到问题记录1.3 基础概念介绍1.4 设计目标1.5 产生收益分析02.市面存储方案2.1 缓存存储有哪些2.2 缓存策略有哪些2.3 常见存储方案2.4 市面存储方案说明2.5 存储方案的不足03.存储方案原理3.1 Sp存储原理分析3.2 MMKV存储原理分析3.3 LruCache考量分析3.4 DiskLru原理分析3.5 DataStore分析3.6 HashMap存储分析。原创 2023-03-07 17:11:12 · 809 阅读 · 0 评论 -
FPS监测设计实践
fps监测设计实践原创 2023-12-08 09:27:29 · 982 阅读 · 0 评论 -
TTS通用播放库技术设计
硬件设备需要通过tts语音向用户传递信息使用 TTS 技术为用户提供语音反馈。以便用户可以听到内容或响应!该库地址:https://github.com/yangchong211/YCToolLibTTS现状和发展语音合成又称文语转换(Text to Speech,TTS)技术,是语音处理领域的一个重要的研究方向,旨在让机器生成自然动听的人类语音。系统TTS(Text-to-Speech)介绍TTS 引擎(TTS Engine):TTS 引擎是实际执行文本到语音转换的组件。原创 2024-03-25 19:22:24 · 1189 阅读 · 0 评论 -
组件通信注解框架实践
组件通信注解框架实践目录介绍01.为何需要组件间通信02.实现同级组件通信方式03.先看一个简单的案例04.项目组件通信流程05.逆向简化注册流程06.这个注解是做什么的07.注解是如何生成代码08.如何定义注解处理器09.项目库的设计和完善10.封装该库有哪些特点11.一些常见的报错问题12.部分原理分析的说明01.为何需要组件间通信明确一个前提:各个业务组件之间不会是相互隔离而是必然存在一些交互的;业务复用:在Module A需要引用Module B提供的某个功能原创 2021-03-10 21:00:46 · 283 阅读 · 0 评论