【问题标题】:Should we start linking to the Android 3.0 library now for our apps?我们现在应该开始为我们的应用程序链接到 Android 3.0 库吗?
【发布时间】:2011-04-07 07:39:25
【问题描述】:

我正在尝试根据 android 开发博客在我的应用中启用硬件加速:

http://android-developers.blogspot.com/2011/03/android-30-hardware-acceleration.html

它说只需添加:

android:hardwareAccelerated="true"

到我的清单。为此,我们是否应该使用 Android 3.0 库进行编译?现在我一直在使用 Android 2.3.3 库。我的应用程序实际上是为手机形式设计的,而不是平板电脑。可以使用 Android 3.0 库,还是应该专门用于平板电脑应用程序?

谢谢

【问题讨论】:

    标签: android


    【解决方案1】:

    没关系,但是:

    • 始终在您发布应用前不久针对您的 minSdkVersion 编译一次,以确保您没有意外使用仅在更高版本的 SDK 中可用的 API,否则您会收到强制关闭的报告。
    • 使用更高的目标版本将使构建器假定您按照新 SDK 的规范进行了所有操作。例如,如果您查看图标指南,您会发现 2.3 和 3.0 的指南非常不同。

    当较低的目标版本在较新的手机上运行时,Android 会使用兼容模式。例如,Android 1.5 及更低版本无法支持不同的密度或分辨率,因此为 1.5 编译的应用将在 1.6+ 手机上使用兼容模式。

    【讨论】:

    • 这里有很好的建议。如果你真的很小心,当你检测到你在一个足够新的设备上运行时,你可以使用更新的 API(参见android-developers.blogspot.com/2010/07/… 的示例),这会破坏你的测试建议。
    • 我也在尝试解决这个问题。在您的第一个项目符号中,您提到尝试使用 Android 2.3.3 库进行编译。但这不会编译,除非您使用 Android 3.0 或更高版本,否则清单将为 android:hardwareAccelerated="true" 行给出错误。所以我对此感到困惑。我们可以安全地使用来自后来的 SDK 的清单功能,而不是实际代码吗?
    • @metalideath:正确。您还可以使用来自更高版本 SDK 的代码功能,前提是在从更低版本的 SDK 运行时,您永远不会访问包含它的
    猜你喜欢
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多