为了自动化测试,我们正在考虑Android仪器测试。但是,我们担心如果将单元测试置于调试模式,性能可能会有很大差异。在做了一些搜索后,似乎没有明确的答案。因此,我们需要对以下几点作出一些澄清。
Eclipse / ADT是否使用相同的编译器优化选项编译项目,无论是处于调试模式还是发布模式?
Eclipse / ADT生成的apk始终处于调试模式(无论是“run as”还是“debug as”)。建议发布版本的方法是通过导出向导。唯一的区别是生成的AndroidManifest.xml中的属性“android:debuggable ='true'”。如果没有启用proguard,结果大小似乎相同。假设没有编译器优化,该属性是否会在运行时显着导致或更改JIT优化?
我们使用调试密钥对apk进行签名,它似乎有效。生成的apk真的是发布版本(我们认为是因为“android:debuggable =”true“被删除了)?
感谢。
答案 0 :(得分:1)
1)是和否,即使优化是相同的,应用程序也会运行得更慢,因为它会有很多子级监视它。
2)AFAIK没有意义,但它会影响你的应用程序的性能。
3)它会起作用,但不推荐,你应该尝试在这里阅读SDK http://developer.android.com/tools/publishing/app-signing.html