rosu 的博客

从异步线程到 RxJava 的背压控制

Android RxJava Flowable 背压 异步 多线程
1. RxJava 中的异步控制 在以前也遇到了类似的场景,那时候还是再使用 AsyncTask 的时候。我们知道 AsyncTask 中有 doInBackground() 方法是一个子线程的异步方法。我们一般在里面执行耗时操作。但是我们会在 doInBackground() 中执行一个 ...
「阅读更多」

Android 获取 SD 卡路径和 UUID

Android SD card 路径 UUID
Android 的存储结构 下面的『内外』,是相对应用而言的。应用内部沙盒称为内部存储,其外部称为外部存储。 内部存储 位置 Android 内部存储在/data/data/ 目录下,根据应用的包名划分出来。每个应用都有如下几个子文件夹: data/data/ 包名 /shared_p ...
「阅读更多」

Tika 源码浅析

Android 视频 文件类型 Tika
Tika最简单的使用:new Tika().detect(file)。 其中新建一个 Tiak 实例的时候,初始化了默认的文件类型、文件解析类以及文件探测类。机会大部分工作都是在这里面做的。由于篇幅有限,我们略过开始的一些调用,让我们看到 Tika 库里的 MagicDetector 类,它 ...
「阅读更多」

如何判断萤石云视频是否可以播放

Android 视频 文件类型 萤石云 Tika FFmpegMediaMetadataRetriever
最近遇到一个问题,需要判断视频文件是否是真正的视频文件。什么意思呢?萤石的摄像头是将视频写入 TF 卡的: 通过萤石云视频平台将 TF 卡格式化后,程序会采用预占空间的方式预先将 1/4 的空间作为视频或者图片的存储空间。 然后他预写入的文件是 .mp4 后缀的,但是是不可播放的文件。所 ...
「阅读更多」

Android 札记系列 (11):视频预加载库、屏幕截图和 ADB 录屏

Android ADB 屏幕截图 视频预加载
屏幕截图 在 Android 中,实现屏幕截图没有官方的接口。所以我们需要另辟蹊径来获取『截图』。 View.getDrawingCache()我们通过使用 View.getDrawingCache() 来获取当前 view 的缓存,然后将它存储到 bitmap 中。 用法1234567v ...
「阅读更多」
Prev Next