我读了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之间的性能是否存在差异
答案 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可以删除未使用的功能,等)。