不同的android:minSdkVersion和targetSdkVersion导致性能问题

时间:2012-12-03 12:46:15

标签: android

我正在开发一个Android应用程序,在我的Nexus S上测试它。如果我正在运行它,使用minSdkVersion =“7”,targetSdkVersion =“7”它表现不错,但如果我设置了targetSdkVersion(或两个变量)对于高于13的东西,该应用程序开始表现非常糟糕。

我的自定义视图完成绘制后,应用程序的GUI挂起(没有显示ANR)约5秒钟,然后它完美运行。

有什么想法吗?

修改

我想在API 16上开发我的应用程序,但是向下兼容API级别7,所以我想在API 16和API 7上进行测试。但是在16级它的性能很差。

IMO这没有意义,因为如果我的手机使用的是Android 4.1,那么定位到16级的应用应该比定位7的应用效果更好。

绘制视图时API 13和14之间的主要区别是什么?

我正在使用一些自定义视图,来自支持包的SherlockActionbar和ViewPager。

由于

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。

当您切换到targetSdkVersion=14时,android:hardwareAccelerated将默认为“true”而非“false”

这将允许您定位14并且不会遇到性能问题:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />
<application android:hardwareAccelerated="false" >

答案 1 :(得分:0)

如果您将目标版本设置为高于最低版本,则可以使用min版本不知道的命令。它适用于您知道更高版本具有更好代码变体的内容,因此您可以检查设备运行的版本,然后使用代码nr1或代码nr2。

如果您确定如何处理它,则应该只使用不同的api版本。