【问题标题】:Hardware acceleration flag硬件加速标志
【发布时间】:2013-04-26 11:44:36
【问题描述】:

我正在构建一个从 Android 2.2 (Froyo) 版本开始运行的应用程序。我已经用 2.2 构建了一个用于播放视频的应用程序,并且我想在 Android 版本 3 (Honeycomb) 上运行同一个应用程序。

我的问题从 hardware_ 加速标志开始。此标志从 Honeycomb 3 开始可用,但在 Honeycomb 之后不可用。我想用 Froyo 发布一个常见的应用程序,但是当我在 Honeycomb 中尝试我的应用程序时,没有显示视频。这显然是因为 hardware_ 加速标志。我可以发布两个版本,但我只想试一试。我可以避免吗?

我的问题是我想用 Froyo 发布应用程序,但对于 hardware_accelerated 标志,它有一个引用,而不是清单或在编程编码中,因为它是 Froyo。我正在使用将播放视频的 webview。

【问题讨论】:

  • 对于我的应用,硬件加速并不重要,它也可以在旧设备上播放。
  • @rekire 我正在从网络服务流式传输视频,所以我需要启用 hardware_accelerated。还有一件事我只是为 2.2(froyo) 开发应用程序。你开发的是哪个版本,支持多少个版本。
  • 我的应用也流式传输视频,我支持 API 8-17。并在 API 7、10、14、17 上进行了测试。由于无法设置 cookie,我无法支持 API 7。我的应用程序的其他部分也支持 API 5。
  • 我正在使用 webview,我刚刚编辑了我的问题。
  • 我使用的是VideoViewTextureView,具体取决于平台。

标签: android android-3.0-honeycomb android-2.2-froyo


【解决方案1】:

尝试仅将窗口设置为硬件加速模式:

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

并且您的清单应将SDK 兼容性设置为:

<uses-sdk android:minSdkVersion="8"
      android:targetSdkVersion="11" />

并将 android-support-v4.jar 库添加到您的项目中。

但是,您的问题可能出在其他地方。

【讨论】:

  • 我无法使用您的代码,因为这些标志在 froyo 上不可用。
  • 感谢您宝贵的时间,但我无法添加Build.VERSION_CODES.HONEYCOMB 代码行,因为我想在 froyo 上运行构建,但是我自己解决了我的问题。请检查我的回答
【解决方案2】:

我反其道而行之。我在 Honeycomb (Android 3.0) 本身中构建了一个应用程序。并允许在清单中支持 Froyo (Android 2.2)。

【讨论】:

    猜你喜欢
    • 2011-06-05
    • 2011-03-10
    • 2015-11-29
    • 2012-03-24
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多