SF
专注于技术的研究
专注于技术的研究
注册登录
关注博客
注册登录
主页
关于
RSS
04.创建型:简单工厂模式
杨充
2022-09-12
阅读 6 分钟
1.2k
创建型:简单工厂模式目录介绍01.工厂模式介绍02.使用背景说明03.模式结构介绍04.简单工厂模式05.简单工厂优缺点01.工厂模式介绍一般情况下,工厂模式分为三种更加细分的类型:简单工厂、工厂方法和抽象工厂。不过,在 GoF 的《设计模式》一书中,它将简单工厂模式看作是工厂方法模式的一种特例,所以工厂模式只被分成了...
03.创建型:单例设计不友好
杨充
2022-09-09
阅读 5 分钟
1.2k
创建型:单例设计不友好目录介绍01.前沿简单介绍02.单例对OOP不友好03.隐藏类之间依赖04.代码扩展性不友好05.可测试性不友好06.不支持有参构造函数07.有何替代解决方案01.前沿简单介绍尽管单例是一个很常用的设计模式,在实际的开发中,我们也确实经常用到它,但是,有些人认为单例是一种反模式(anti-pattern),并不推...
02.创建型:单例设计模式2
杨充
2022-09-08
阅读 6 分钟
1.5k
创建型:单例设计模式2目录介绍01.如何实现一个单例02.饿汉式实现方式03.懒汉式实现方式04.双重DCL校验模式05.静态内部类方式06.枚举方式单例07.容器实现单例模式01.如何实现一个单例介绍如何实现一个单例模式的文章已经有很多了,但为了保证内容的完整性,这里还是简单介绍一下几种经典实现方式。概括起来,要实现一个...
01.创建型:单例设计模式1
杨充
2022-09-07
阅读 3 分钟
1.4k
创建型:单例设计模式1目录介绍01.单例模式介绍02.单例模式定义03.单例使用场景04.思考几个问题05.为什么要使用单例06.处理资源访问冲突07.表示全局唯一类01.单例模式介绍单例模式是应用最广的模式也是最先知道的一种设计模式,在深入了解单例模式之前,每当遇到如:getInstance()这样的创建实例的代码时,我都会把它...
App磁盘沙盒工具实践
杨充
2022-03-03
阅读 18 分钟
1.9k
目录介绍01.磁盘沙盒的概述1.1 项目背景说明1.2 沙盒作用1.3 设计目标02.Android存储概念2.1 存储划分介绍2.2 机身内部存储2.3 机身外部存储2.4 SD卡外部存储2.5 总结和梳理下03.方案基础设计3.1 整体架构图3.2 UML设计图3.3 关键流程图3.4 接口设计图3.5 模块间依赖关系04.一些技术要点说明4.1 使用队列管理Fragment栈4...
Flutter Chanel通信流程
杨充
2021-08-26
阅读 29 分钟
1.7k
目录介绍01.flutter和原生之间交互02.MethodChanel流程03.MethodChanel使用流程04.MethodChanel代码实践05.EventChannel流程06.EventChannel基本流程07.EventChannel代码实现08.BasicMessageChannel流程09.BasicMessageChannel基本流程10.BasicMessageChannel代码实现11.Channel编解码器说明12.Channel通信可以子线程吗1...
Flutter如何状态管理
杨充
2021-08-19
阅读 12 分钟
4.1k
目录介绍01.什么是状态管理02.状态管理方案分类03.状态管理使用场景04.Widget管理自己的状态05.Widget管理子Widget状态06.简单混合管理状态07.全局状态如何管理08.Provider使用方法09.订阅监听修改状态推荐fluter Utils 工具类库:[链接]flutter 混合项目代码案例:[链接]01.什么是状态管理响应式的编程框架中都会有一个...
FlutterUtils 工具库
杨充
2021-08-16
阅读 18 分钟
1.7k
FlutterUtils目录介绍01.事件通知bus工具类02.颜色Color工具类03.日期转化工具类04.File文件工具类05.Sql数据库工具类06.Json转化工具类07.Log日志打印工具类08.屏幕参数工具类09.Sp轻量存储工具类10.辅助计算工具类11.加密和解密工具类12.Num格式处理工具类13.设备参数获取工具类14.图片处理工具类15.网络处理工具类16....
NA嵌入Flutter页面
杨充
2021-08-16
阅读 18 分钟
4.2k
目录介绍01.Android承载flutter容器02.过时的NA跳转flutter方案03.升级版本NA跳转Flutter处理04.如何处理NA跳转flutter传参05.思考遇到的几个问题分析06.Flutter页面关闭时Crash07.Android引入flutter本质08.Flutter启动加载流程和优化00.推荐fluter Utils 工具类库:[链接]flutter 混合项目代码案例:[链接]01.Android...
组件通信注解框架实践
杨充
2021-03-10
阅读 10 分钟
1.1k
组件通信注解框架实践目录介绍01.为何需要组件间通信02.实现同级组件通信方式03.先看一个简单的案例04.项目组件通信流程05.逆向简化注册流程06.这个注解是做什么的07.注解是如何生成代码08.如何定义注解处理器09.项目库的设计和完善10.封装该库有哪些特点11.一些常见的报错问题12.部分原理分析的说明01.为何需要组件间通...
04.视频播放器通用架构实践
杨充
2020-10-16
阅读 10 分钟
4.6k
04.视频播放器通用架构实践目录介绍01.视频播放器的痛点02.业务需求的目标03.该播放器框架特点04.播放器内核封装05.播放器UI层封装06.如何简单使用07.如何自定义播放器08.该案例的拓展性分享09.关于视频缓存方案10.如何监控视频埋点11.待实现的需求分析12.一些细节上优化13.参考案例和博客记录00.视频播放器通用框架基础...
05.视频播放器内核切换封装
杨充
2020-10-16
阅读 17 分钟
3.9k
05.视频播放器内核切换封装目录介绍01.视频播放器内核封装需求02.播放器内核架构图03.如何兼容不同内核播放器04.看一下ijk的内核实现类05.看一下exo的内核实现类06.如何创建不同内核播放器07.看一下工厂类实现代码08.后期如何添加新的内核00.视频播放器通用框架基础封装视频播放器player,可以在ExoPlayer、MediaPlayer...
03.视频播放器Api说明
杨充
2020-10-16
阅读 9 分钟
3.7k
03.视频播放器Api说明目录介绍01.最简单的播放02.如何切换视频内核03.切换视频模式04.切换视频清晰度05.视频播放监听06.列表中播放处理07.悬浮窗口播放08.其他重要功能Api09.播放多个视频10.VideoPlayer相关Api11.Controller相关Api12.边播放边缓存api13.类似抖音视频预加载14.视频播放器埋点00.视频播放器通用框架基础...
02.视频播放器整体结构
杨充
2020-10-15
阅读 7 分钟
2.3k
02.视频播放器整体结构目录介绍01.视频常见的布局视图02.后期可能涉及的视图03.需要达到的目的和效果04.视频视图层级示意图05.整体架构思路分析流程06.如何创建不同播放器07.如何友好处理播放器UI08.交互交给外部开发者09.关于优先级视图展示10.代码项目lib代码介绍00.视频播放器通用框架基础封装视频播放器player,可以...
01.视频播放器框架介绍
杨充
2020-10-15
阅读 14 分钟
4.8k
视频播放器介绍文档目录介绍01.该视频播放器介绍02.视频播放器功能03.视频播放器架构说明04.视频播放器如何使用05.播放器详细Api文档06.播放器封装思路07.播放器示例展示图08.添加自定义视图09.视频播放器优化处理10.播放器问题记录说明11.性能优化和库大小12.视频缓存原理介绍13.查看视频播放器日志14.该库异常code说明...
01.Android线程池实践基础
杨充
2020-10-06
阅读 11 分钟
1.6k
目录介绍01.实际开发问题02.线程池的优势03.ThreadPoolExecutor参数04.ThreadPoolExecutor使用05.线程池执行流程06.四种线程池类07.execute和submit区别08.线程池的使用技巧01.实际开发问题在我们的开发中经常会使用到多线程。例如在Android中,由于主线程的诸多限制,像网络请求等一些耗时的操作我们必须在子线程中运行...
Https详细分析
杨充
2020-09-25
阅读 7 分钟
1.7k
目录介绍01.为何会有Https02.解决方案分析03.SSL是什么04.RSA验证的隐患05.CA证书身份验证06.Https工作原理07.Https代理作用08.Https真安全吗09.Https性能优化01.为何会有HttpsHttp的缺点通信使用明文;通信使用明文意味着安全性大大降低,当通信过程被窃听后,无需花费额外的投入就可看到传输的数据。例如使用抓包工具...
OkHttp请求耗时统计
杨充
2020-09-23
阅读 21 分钟
4.9k
目录介绍01.先提问一个问题02.EventListener回调原理03.请求开始结束监听04.dns解析开始结束监听05.连接开始结束监听06.TLS连接开始结束监听07.连接绑定和释放监听08.request请求监听09.response响应监听10.如何监听统计耗时11.应用实践之案例01.先提问一个问题OkHttp如何进行各个请求环节的耗时统计呢?OkHttp 版本提供...
Android端Charles抓包
杨充
2020-09-21
阅读 6 分钟
32.4k
目录介绍01.下载安装02.抓包代理设置03.抓包Https操作04.抓包原理介绍05.抓包数据介绍06.常见问题总结07.Android拦截抓包01.下载安装下载地址(下载对应的平台软件即可)[链接]下载破解文件[链接]打开Finder,在应用程序中选择Charles并右键选择显示包内容显示包内容后在Content/Java目录下将破解文件复制过来替换掉原文件...
事件总线方案实践
杨充
2020-03-13
阅读 15 分钟
2.9k
liveData实现事件总线 目录介绍 01.EventBus使用原理 02.RxBus使用原理 03.为何使用liveData 04.LiveDataBus的组成 05.LiveDataBus原理图 06.简单的实现案例代码 07.遇到的问题和分析思路 08.使用反射解决遇到问题 09.使用postValue的bug 10.如何发送延迟事件消息 11.如何发送轮训延迟事件 12.避免类型转换异常问题 13....
Lifecycle详细分析
杨充
2020-03-09
阅读 22 分钟
3.1k
Lifecycle源码分析 目录介绍 01.Lifecycle的作用是什么 02.Lifecycle的简单使用 03.Lifecycle的使用场景 04.如何实现生命周期感知 05.注解方法如何被调用 06.addObserver调用分析 07.知识点梳理和总结一下 00.使用AAC实现bus事件总线 利用LiveData实现事件总线,替代EventBus。充分利用了生命周期感知功能,可以在activi...
LiveData详细分析
杨充
2020-03-05
阅读 15 分钟
2.8k
目录介绍 01.LiveData是什么东西 02.使用LiveData的优势 03.使用LiveData的步骤 04.简单使用LiveData 05.observe()和observerForever() 06.LiveData原理介绍 07.observe订阅源码分析 08.setValue发送源码分析 09.observeForever源码 10.LiveData源码总结 00.使用LiveData实现bus事件总线 利用LiveData实现事件总线,替代...
Adapter分组封装
杨充
2020-02-16
阅读 14 分钟
2k
YCGroupAdapter 01.前沿说明 1.1 案例展示效果 1.2 该库功能和优势 1.3 相关类介绍说明 02.如何使用 2.1 如何引入 2.2 最简单使用 2.3 使用建议 03.常用api 3.1 自定义adapter 3.2 notify相关 3.3 点击事件listener 04.实现步骤 4.1 业务需求分析 4.2 adapter实现多type 4.3 这样写的弊端 4.4 分组实体bean 4.5 构建封装...
ItemTouchHelper 实现交互动画
杨充
2020-02-14
阅读 11 分钟
2.9k
目录介绍 01.拖拽需要实现功能 02.几个重要的方法说明 03.简单实现思路 04.拖拽效果上优化 05.完整代码展示 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续...
Android富文本开发
杨充
2019-12-25
阅读 24 分钟
3.2k
基础概念目录介绍 01.业务需求简单介绍 02.实现的方案介绍 03.异常状态下保存状态信息 04.处理软键盘回删按钮逻辑 05.在指定位置插入图片 06.在指定位置插入输入文字 07.如果对选中文字加粗 08.利用Span对文字属性处理 09.如何设置插入多张图片 10.如何设置插入网络图片 11.如何避免插入图片OOM 12.如何删除图片或者文字...
算法之递归案例
杨充
2019-12-20
阅读 11 分钟
1.9k
目录介绍 01.什么是递归 02.递归三个条件 03.斐波那契数列 04.找指定目录下所有文件 05.求1+2+…+N和 06.求100的阶乘 07.有序数组合并 08.求一个数乘方 09.背包问题 10.选择一支队伍 11.汉诺塔问题 12.二分法查找 13.警惕重复计算 14.开源项目推荐 01.什么是递归 递归:在一个方法内部对自身进行调用。利用递归可以用简单...
Deeplink实践原理分析
杨充
2019-12-09
阅读 24 分钟
4.4k
目录介绍 01.先看一个场景 02.什么是DeepLink 03.什么是Deferred DeepLink 04.什么是AppLink 05.DeepLink和AppLink核心技术 06.DeepLink实践方案 07.AppLink实践方案 08.部分问题思考总结 09.DeepLink原理分析 10.AppLink原理分析 01.先看一个场景 假设一个场景: 小明告诉小杨,一鹿有车APP上有一个很有创意的抽奖活动...
WebView开源库终极方案
杨充
2019-11-26
阅读 11 分钟
3k
目录介绍 01.前沿说明 1.1 案例展示效果 1.2 该库功能和优势 1.3 相关类介绍说明 1.4 WebView知识点 02.如何使用 2.1 如何引入 2.2 最简单使用 2.3 常用api 2.4 使用建议 2.5 异常状态类型区分 2.6 该库流程图 03.js调用 3.1 Java调用js方法 3.2 js调用java方法 3.3 js的调用时机分析 3.4 js交互原理分析 04.问题反馈 05...
ViewStub你真的了解吗
杨充
2019-11-21
阅读 8 分钟
2.3k
目录介绍 01.什么是ViewStub 02.ViewStub构造方法 03.inflate()方法解析 04.WeakReference使用 05.ViewStub为何无大小 06.ViewStub为何不绘制 07.可以多次inflate()吗 08.ViewStub不支持merge 09.ViewStub使用场景 10.ViewStub总结分析 好消息 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术...
x5开源库后续知识点
杨充
2019-11-04
阅读 34 分钟
2.9k
目录介绍 01.基础使用目录介绍 1.0.1 常用的基础介绍 1.0.2 Android调用Js 1.0.3 Js调用Android 1.0.4 WebView.loadUrl(url)流程 1.0.5 js的调用时机分析 1.0.6 清除缓存数据方式有哪些 1.0.7 如何使用DeepLink 1.0.8 应用被作为第三方浏览器打开 02.优化汇总目录介绍 2.0.1 视频全屏播放按返回页面被放大 2.0.2 加快加...
1
2
(current)
3
4
5
…
More
下一页
上一页
2
(current)
下一页