Android 日志优化
问题:
Android 平台使用 java 实现日志模块,每有一句日志就加密写进文件。这样在使用过程中不仅存在大量的 GC,更致命的是因为有大量的 IO 需要写入,影响程序性能很容易导致程序卡顿。选择这种方案,在 release 版本只能选择把日志关掉。当有用户反馈时,就需要给用户重新编一个打开日志的安装包,用户重新安装重现后再通过日志来定位问题。不仅定位问题的效率低下,而且并不能保证每个需要定位的问题都能重现。
解决方案:mars:xlog
- 先把日志缓存到内存中 mmap
- 进行压缩
- 当到一定大小时再加密
- 避免 Android 平台下存在频繁 GC 的问题,可以使用 C++ 来实现写入文件。
备注
参考资料: