写点什么

微信自研 APM 利器,Matrix 正式开源了,2021Android 大厂面试知识分享

用户头像
Android架构
关注
发布于: 刚刚
  • 读取 manifest 的信息

  • 按文件大小排序列出 APK 中的所有文件

  • 统计方法数

  • 统计 class 数目

  • 检查是否经过资源混淆(AndResguard)

  • 搜索不含 alpha 通道的 png 文件

  • 搜索未经压缩的文件类型

  • 检查是否包含多 ABI 版本的动态库

  • 统计 APK 中包含的 R 类以及 R 类中的 field count

  • 搜索冗余的文件

  • 检查是否有多个动态库静态链接了 STL

  • 搜索 APK 中包含的无用资源

  • 搜索 APK 中包含的无用 assets 文件

  • 搜索 APK 中未经裁剪的动态库

SQLite Lint

SQLite Lint 是一个 SQLite 使用质量的自动化检测工具,犹如一个 SQLite 优化高手在开发或者测试过程中不厌其烦地、仔细地 review 你的 SQL 语句,是团队高质量 SQLite 实践中的一个有用工具。SQLite Lint 当前支持的检测能力包括:


  • 检测索引使用问题

  • 检测冗余索引问题

  • 检测 select * 问题

  • 检测 Autoincrement 问题

  • 检测建议使用 prepared statement

  • 检测建议使用 without rowid 特性

Trace Canary

Trace Canary 通过 choreographer 回调、编译期插桩的方式,实现了高准确率、高性能的卡顿检测、定位方案,并扩展支持了多个其它流畅性指标,包括:


  • 界面流畅性评估

  • 卡顿定位

  • ANR 监控

  • 应用启动及界面切换耗时监控


Resource Canary


Resource Canary 是基于 Weak Reference 的特性和 Haha 库开发的 Activity 泄漏和 Bitmap 重复创建检测工具。其中检测采集部分部署在客户端,分析部分部署在服务端,通过分离检测和分析两部分逻辑使该工具的流程对持续集成更友好。当前 Resource Canary 主要包含以下功能:


  • 检测疑似泄漏的 Activity ,输出其类名和引用链

  • 检测内存中图像数据完全一样的重复 Bitmap 对象,输出其类名和引用链

IO Canary

IO Canary 是一个在开发、测试或者灰度阶段辅助发现 IO 问题的工具,目前主要包括文件 IO 监控和 Closeable Leak 监控两部分,提供了 IO 的大盘监控,从而做到心中有数。具体功能包括:


  • 检测主线程 IO 使用不当

  • 检测读写 Buffer 过小

  • 检测重复读操作

  • 检测 Closeable


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


Leak 操作,包括文件读写、cursor 未及时关闭等


Matrix 有哪些优势?


与常规的 APM 工具相比,Matrix 拥有以下特点:

APK Checker

  • 具有更好的可用性:JAR 包方式提供,更方便应用到持续集成系统中,从而追踪和对比每个 APK 版本之间的变化

  • 更多的检查分析功能:除具备 APKAnalyzer 的功能外,还支持统计 APK 中包含的 R 类、检查是否有多个动态库静态链接了 STL 、搜索 APK 中包含的无用资源,以及支持自定义检查规则等

  • 输出的检查结果更加详实:支持可视化的 HTML ,便于分析处理的 JSON ,自定义输出等等

SQLite Lint

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
微信自研 APM 利器,Matrix 正式开源了,2021Android大厂面试知识分享