2013-02-25 76 views

回答

1

会有,如果你遵循的准则,并封闭所有调试语句withing包装就像在性能上非常非常微小的差别:

if(BuildConfig.DEBUG) { 
    //log 
} 

即使你有,性能差异可以忽略不计的人。

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

导出apk还运行了ProGuard工具,它可以用来混淆和清理代码和包含的库。这可能会导致性能略有增加和/或apk文件大小减小。

1

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

1

ProGuard仅在出口APK上运行,如链接问题的this comment中所述。

ProGuard的优化,如解释in this article可以做一些优化提高应用程序的速度,但主要用于尺寸减小(如ProGuard的可剥离出未使用的函数,等等)。