RecyclerView 源码分析

本文承接上文《RecyclerView 中的设计模式》,结合源码分析Recyclerview绘制、滑动、和缓存等逻辑

查看更多

分享到 评论

RecyclerView 中的设计模式

本篇文章是在掘金上偶然看到,介绍的比较全面,收藏到本博客

Recyclerview 在 Android 应用开发中使用非常频繁,但一般人只知道onCreateViewHolder、onBindViewHolder等简单使用。了解这篇文章无论是对项目中实际开发还是Android源码设计,都会有借鉴和帮助

Recyclerview 源码中用到的设计模式

本文通过桥接,组合,适配器,观察者模式四种设计模式来解读RecyclerView。

查看更多

分享到 评论

TCP三次握手解读

本篇文章节选自知乎问答,部分图片来自网络,文末已给出链接

网络上有很多关于TCP三次握手的解读和类比,这些都是不全面的,如下:

三次握手:
“喂,你听得到吗?”
“我听得到呀,你听得到我吗?”
“我能听到你,今天 balabala……”

查看更多

分享到 评论

Android App Bundle(AAB) 文件介绍

在2018年的Google I/O大会上,Google向 Android 引入了新 App 动态化框架(即Android App Bundle,缩写为AAB)
Dynamic Delivery示意效图

查看更多

分享到 评论

Android避免网络请求造成内存泄漏

现在的网络请求框架很多也很完善,但是使用中不注意还是会有内存泄漏的现象。为了避免内存泄漏,大概有两种方式:

  • 1.在Activity结束时取消请求
  • 2.在异步回调的时候,通过Activity.isFinishing()方法判断Activity是否已经被销毁

但是最近在工作中,发现一个问题:同一个请求,会在多个页面被调用到,这就导致相同的代码包括发送请求,成功或失败回调,数据解析等会出现好几处。
如果我想把这个网络请求单独抽离出来,放到一个类里,不依赖具体的Activity,现在的网络框架回调一般都会运行在主线程,如果未及时释放资源,很容易造成内存泄漏。

查看更多

分享到 评论

Android录音相关方法介绍

本文介绍Android开发录音功能中用到的相关API和音频数据编码解码的处理

录音基础知识

常用音频格式:

  • WAV 格式:音质高 无损格式 体积较大
  • AAC(Advanced Audio Coding) 格式:相对于 mp3,AAC 格式的音质更佳,文件更小,有损压缩,一般苹果或者Android SDK4.1.2(API 16)及以上版本支持播放,性价比高
  • AMR 格式:压缩比比较大,但相对其他的压缩格式质量比较差,多用于人声,通话录音
    • AMR分类: AMR(AMR-NB): 语音带宽范围:300-3400Hz,8KHz抽样
  • mp3 格式:特点 使用广泛, 有损压缩,牺牲了12KHz到16KHz高音频的音质

    查看更多

分享到 评论

投马-Markdown介绍

                   .-' _..`.         
/ .'_.'.'
| .' (.)`.
;' ,_ `.
.--.__________.' ; `.;-'
| ./ /
| | /
`..'`-._ _____, ..'
/ | | | |\ \
/ /| | | | \ \
/ / | | | | \ \
/_/ |_| |_| \_\

查看更多

分享到 评论

Java的内存管理与垃圾回收

不知不觉已经6月8号了,回首一下5月,发现没有什么积累。给自己找个借口,是工作太忙,还是找工作太累?都不是,应该只是自己偷懒了。

待着是一天,忙碌着也是一天。所以从这篇博文开始,为自己立下三个小目标,来督促自己:
1.总结一个Java系列的文章(至少三篇)
2.总结一个数据结构和算法相关的文章(至少三篇)
3.学习Android Framework知识,总结出至少三篇

本篇主要介绍《Java的内存管理与垃圾回收》

查看更多

分享到 评论