gpt4 book ai didi

java - Android targetSdkVersion : accessing higher features, 和风险

转载 作者:行者123 更新时间:2023-12-01 15:07:35 24 4
gpt4 key购买 nike

我知道 minSdkVersiontargetSdkVersion 是如何工作的,但我需要在这个具体案例中进行确认(我不想意外地忽略任何东西)。

我的应用程序(游戏)支持 Android 2.2 及更高版本的所有设备。到目前为止,minSdkVersiontargetSdkVersion 设置为 8(即 API 级别 8,对应 Android 2.2)。

如果打开硬件加速,我的一个 View 的工作会明显更加流畅,但我无法在项目中设置它,因为它需要API级别11 。 (我当时是怎么注意到的?我的一个测试设备在开发人员设置中提供了一个“强制 GPU 映射”复选框,因此当我运行我的应用程序时,我注意到了差异。)

我认为解决方案是将 targetSdkVersion 设置为 11(但将 minSdkVersion 保持为 8),并从代码中检查我们是否在 API 级别 11 上运行或以上,然后启用 View (窗口)的硬件加速。最后一步需要更高的 API 级别,否则源代码中无法识别 FLAG_HARDWARE_ACCELERATED

假设我的所有代码仅使用 minSdkVersion API(除了在运行时检查异常调用的平台版本,例如硬件加速),是否可以保证在低于 targetSdkVersion 的设备上不会出现问题吗? (我的意思是,由于上述解决方案。)我想避免我的应用程序在 hive 之前的设备上无法正常工作。 (请注意,我也在各种平台版本的设备上测试了我的应用程序,因此测试不是问题。)

最佳答案

在您的 Activity 中,如果您的窗口是 API 级别 11 或更高版本,请使用此行设置硬件加速:

if( Build.VERSION.SDK_INT >= Build.HONEYCOMB ) {
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
}

编辑:作为您编辑的答案,Android Lint 可能会抛出一个错误,指出它不适用于 TargetSDK,但它会工作并且不会为旧版本抛出任何异常。如果确实如此,则版本在某种程度上 > 10,而这是不可能的。

但是您应该更新 TargetSDK,因为通过使用硬件加速,您的目标是更高的 API 目标。

关于java - Android targetSdkVersion : accessing higher features, 和风险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com