Android-日志库Timber/Xlog

2019-11-29  本文已影响0人  A代码搬运工

Timber

Google官方Demo使用的日志库

 implementation 'com.jakewharton.timber:timber:4.7.1'

详细用法参考:

Timber

Timber说明:

微信Xlog

implementation 'com.tencent.mars:mars-xlog:1.0.7'
MMAP机制

MMAP。MMAP是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对应关系。

[图片上传失败...(image-569296-1574993131425)]

简单来说,MMAP实际是一段内存空间,我们可以实时将日志写入MMAP,因为它是内存,所以速度非常快;而另外,它也不存在丢失风险,因为在如内存不足,进程退出的时候操作系统会自动回写文件,因此也极大降低了丢失的风险。

XLog的短语式压缩

在压缩方面,xLog采用的方案是每产生一条日志,都进行压缩且写入MMAP。这里采用的压缩算法是LZ77压缩。压缩率可以达到83.7%。

LZ77是一种基于字典的算法,它将长字符串(也称为短语)编码成短小的标记,用小标记代替字典中的短语,从而达到压缩的目的。

这种压缩算法的核心就是从以前压缩的内容里找到相同的短语,然后把当前的文本短语换成数字,参考下图:

Github官方地址:

Mars

XLog说明:

强调:

一定要在合适的时机调

Log.appenderFlush(true);
Log.appenderClose();
上一篇 下一篇

猜你喜欢

热点阅读