面试复习题--工具、框架整理

28 篇文章 0 订阅
14 篇文章 0 订阅

1、线程检测

 Infer 静态分析框架,一种新的静态分析器,它可以在 Android 的 Java 代码中捕获死锁,而无需运行代码。

JDK内置工具Jstack,Jconsole。

2、代码静态检测

idea阿里代码规范插件,findbugs,checkstyle,   单测质量snar工具,JDepend,

Infer的核心目标memory safety,早期主要采用基于separation logic的shape analysis(分析pointer, list, tree等memory相关等)。

PMD能够扫描Java 源代码,查找类似以下的潜在问题:

  • 可能的bug——try/catch/finally/switch语句中返回空值。

  • 死代码——未使用的局部变量、参数、私有方法。

  • 不理想的代码——使用String/StringBuffer。

  • 过于复杂的表达式——没有必要使用if语句、while循环可以代替for循环。

  • 重复代码——复制/粘贴的代码引发的bug。

Macker是一个适用于Java开发人员用来检查架构规则的工具。你可以定制一个适合特定项目架构的规则文件,也可以为您的代码撰写通用的规则说明

XRadar是一个开放的、为代码生成可扩展报告的工具。目前支持基于Java的所有系统。批量处理的框架可以用来生成HTML/SVG系统的报告。Xradar可以估量代码的大小、复杂性以及代码的重复性、依赖性等。

Hammurapi是一款执行Java程序代码的自动检测工具。提供的实例中含有282条Hammurapi代码规则,提供了120多个Java类,这款所谓的检测工具,可以从三个级别来检测代码是否违背了编码标准。 

3、AOP工具

AspectJ,javassist,ASM

 4、测试框架

Junit4、5、Espresso、自动化框架Appium、自动化框架uiautomator、UI测试Robotium

5、性能分析工具

BlockCanary卡顿分析

LeakCanary内存泄露分析

IOCanary io分析

TraveView是Android studio集成的一个性能优化工具

hierarchyviewer:检测布局复杂度

友盟+u-apm应用性能监控平台”作为一款监测工具

Bugly异常收集

CrashWoodPecker异常收集

XCrash

KOOM

滴滴开源的APM方案Dokit

对于开发者来说,Android的Java 层 提供了两种开发者可直接调用的 Method Trace 的API,一是 android.os.Debug类中的 startMethodTracing相关API,第二个 是android.os.Trace 类中的beginSection相关AP。 这两者的区别是 Debug类只能监控 Java函数调用, 而Trace类底层是使用 atrace 实现,其追踪的函数会包含了应用及系统的Java 和Native函数,并且底层基于ftrace还可以追踪cpu的详细活动信息。

6、网络分析

fiddler或charles

开源模块-JustTrustMe

HttpCanary Android网络分析工具HttpCanary

7、安全分析

reFlutter是一款功能强大的逆向工程分析工具

8、数据读写

SP、DataStore、MMKV、加密SQLCipher、

9、ORM

Room、GReenDAO

11、网络库

Okhttp、Retrofit

12、事件库

EventBus,otto,RxAndorid

13、架构设计

官方databinding,Dragger2,Butterfly

14、路由管理

ARout,DRout

15、图片管理

Fresco、ImageLoader、 Picasso、 Glide

16、动画

nineoldandroids ,lottie

17、加固混淆

百度安全验证

andresguard

18、加速优化

 Redex优化dex大小及加载顺序

19、热更新

828e19f3816d12c77e58baa864804995.png

阿里系包括AndFix、Dexposed、阿里百川、Sophix

 Robust、Tinker

https://www.csdn.net/tags/MtjaAgysMzkwNi1ibG9n.html

20、插件化

特性

DynamicLoadApk

DynamicAPK

Small

DroidPlugin

VirtualAPK

RePlugin

ACDD/Atlas

支持四大组件

只支持Activity

只支持Activity

只支持Activity

全支持

全支持

全支持

全支持

组件无需在宿主manifest中预注册

×

×

插件可以依赖宿主

×

轻度依赖

支持PendingIntent

×

×

×

未明确

Android特性支持

大部分

大部分

大部分

几乎全部

几乎全部

几乎全部

未明确

兼容性适配

一般

一般

中等

未明确

插件构建

部署aapt

Gradle插件

Gradle插件

Gradle插件

部署aapt

框架轻重

相对轻量

相对轻量

相对轻量

重量

支持安卓版本

API Level 15+

API Level 9+

接入难度

侧重阶段

运行期

运行期

运行期

编译期

热修复能力

插件安装后可否删除

不能

不能

可以

插件更新方式

插件独立更新

插件独立更新

插件及宿主须同时更

21 字节码查看工具

1、Javap

2、classPy 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值