导出apk和在eclipse的bin文件夹中生成的build apk之间有什么大的区别

时间:2013-02-25 18:59:24

标签: android

我读了What is the difference between the apk file in the bin folder and the apk file created through the Export option in Eclipse?但是我想知道导出apk和在eclipse的bin文件夹中生成的构建apk之间的性能是否存在差异

3 个答案:

答案 0 :(得分:1)

如果您遵循指南并使用包装器封装所有调试语句,那么性能将会有非常小的差异:

if(BuildConfig.DEBUG) {
    //log
} 

即使你有,但性能差异对人类来说可以忽略不计。

除此之外,唯一的区别在于用于签署apk的密钥库以及BuildConfig.DEBUG布尔值。

导出apk还会在其上运行ProGuard工具,该工具可用于混淆和清理代码和包含的库。这可能会导致性能略有下降和/或apk文件大小减少。

答案 1 :(得分:1)

bin目录中生成的apk主要用于调试目的。您的BuildConfig.DEBUG变量仍设置为true,因此如果您附加了任何日志记录或调试消息,它们将执行。导出apk时BuildConfig.DEBUG设置为false,跳过日志记录和调试消息。它还通过proguard运行你的apk,如果配置正确,可以删除未使用/无法访问的代码和库依赖项,以及如果你愿意混淆你的应用程序。最后,你有一个更精简,更有效的apk。

答案 2 :(得分:1)

ProGuard仅在导出APK上运行,如您在关联问题的this comment中所述。

ProGuard优化,例如解释in this article可以通过进行一些优化来提高应用程序的速度,但主要用于减小尺寸(因为ProGuard可以删除未使用的功能,等)。