首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
尉迟涛
掘友等级
道阻且长,行则将至
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
56
文章 56
沸点 0
赞
56
返回
|
搜索文章
最新
热门
使用RecyclerView实现三种阅读器翻页样式
阅读器三种翻页模式实现,基于RecyclerView,横向覆盖滑动(Slide Mode)、竖直滑动(Scroll Mode)、仿真翻页(Flip Mode)
Fresco三级缓存原理分析&应用
Fresco三级缓存源码简析,将这种代码结构运用到项目中。以及其中的两个细节设计,防止内存抖动 & 文件写入的原子操作
Kotlin协程完全解析
Continuation Passing Style (CPS)、State Machine,协程原理分析、源码分析(附视频分享)
理解&实现 PLT-Hook
认识ELF文件种类、结构,了解.so文件是如何加载,其中方法如何被调用,并在Android真机上实现一次简单的hook
谷歌推送Tips
手把手注册配置FCM(Firebase Cloud Messaging),以及Android端接入的一些Tips
工作记录#重构播放器
最近在做播放器重构的需求,写过播放器的朋友一定知道,播放器中代码繁多,包括很多控件(进度条、播放按钮、错误提示等),以及需要处理各种用户操作(播放、暂停、拖动进度条等),而且需要注意页面切换与资源释放等等,如果没有良好的代码结构,会看起来很费力。 我们项目中的代码耦合性极高,简…
源码阅读#PlayerBase如何实现组件间通讯
等等。 如果把这些元素、功能统统写在一个类中,会显得非常复杂,难以维护。而PlayerBase 是一个拥有良好架构的播放器组件,它对播放器以及遮罩(Cover)的行为有着良好的抽象,也提供一系列的回调接口。前端时间重构项目中的视频组件我就参考了这个项目。接下来我们分析一下Pla…
源码阅读#ThreadLocal完全分析
翻译一下:ThreadLocal提供一些线程本地(即线程自有)的变量(集合),这些变量之间有一个不同点——在每个线程中通过同一个ThreadLocal对象存取数据(通过ThreadLocal的get或者set方法)的时候,每个线程都会有自己独立的数据变量实例(即一个Thread…
源码阅读#Handler(下)同步屏障与IdleHandler
什么是同步屏障?开启同步屏障的第一步需要发送一个特殊消息作为屏障消息,当消息队列检测到了这种消息后,就会从这个消息开始,遍历后续的消息,只处理其中被标记为“异步”的消息,忽略同步消息(所以叫“同步屏障”),相当于给一部分消息开设了“VIP”优先通道。当使用完同步屏障后我们还注意…
源码阅读#Handler(上)使用方法与运行原理
最后讲一个自己遇到的Handler使用不当的坑。 Handler的作用就是跨线程执行任务,可以在A线程中通知B线程去执行相应的任务。使用场景以线程种类区分有两种情况:工作线程与主线程,下面我们从Android的自带组件来分析Handler的使用方式, 这里说的工作线程就是指所有…
下一页
个人成就
文章被点赞
244
文章被阅读
34,787
掘力值
1,230
关注了
31
关注者
108
收藏集
2
关注标签
5
加入于
2020-03-08