0

我目前正在开发一个 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。

谢谢

4

2 回答 2

1

我遇到过同样的问题。

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

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

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />
<application android:hardwareAccelerated="false" >
于 2013-02-26T18:16:31.993 回答
0

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

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

于 2012-12-03T12:54:33.477 回答