android studio 2.2 preview 1
中的一项新功能是APK Analyzer
当您尝试时,它会为您提供统计信息Defined Methods
和Referenced Methods
示例输出:
这个dex文件定义了4118个类,包含28823个方法和引用 35206方法
答案 0 :(得分:3)
定义的方法是您根据给定情况编写或正确使用的方法。如果引用了一个方法,则只表示您(或代码中的其他方法/对象)正在调用它们。但是,仅仅因为引用方法并不意味着它们是为它定义的任何东西,或者它可能被错误地定义。例如,您使用的开源库可能安装不正确(我已经这么做了很多次),您将获得大量引用的方法,但没有为它们定义任何内容。希望有所帮助!
答案 1 :(得分:3)
我知道这是一个古老的答案,但是我只粘贴一段代码,说明这两个词在官方网站上的含义以及计入64k限制的内容。
DEX文件中的每个程序包,类和方法在“定义的方法”和“引用的方法”列中都列出了计数。 “引用的方法”列将计算DEX文件引用的所有方法。这通常包括代码中定义的方法,依赖库以及代码使用的标准Java和Android软件包中定义的方法-这些是每个DEX文件中计入64k方法限制的方法。 “定义的方法”列仅计算在一个DEX文件中定义的方法,因此,该数字是“引用的方法”的子集。
参考:https://developer.android.com/studio/build/apk-analyzer#view_dex_files