【问题标题】:Android DJI-Mobile-SDK is hogging CPUAndroid DJI-Mobile-SDK 占用 CPU
【发布时间】:2018-02-20 16:34:55
【问题描述】:

我正在使用 DJI OSMO+ 云台开发 Android 相机应用程序,我注意到在使用 Android PlayStore 与使用官方 DJI Go 应用程序(CPU 使用率 ~10% 到 15%)时 CPU 使用率存在巨大差异. DJI FPV Demo app (CPU Usage ~40% to 50%)。以下是我的开发环境的一些细节:

您使用的是哪款 DJI 产品? - DJI OSMO+

您使用的是哪个 DJI SDK? - DJI Android Mobile SDK V4.4.1

您使用的是哪个 Android 设备和 Android 系统版本? - 设备:Pixel XL;安卓系统:7.1.2(安卓N)

您使用的是哪个 Android Studio 版本? - 安卓工作室:3.0.1; JRE:1.8

您的问题的简短描述包括调试日志或屏幕截图。 - 我注意到使用 Android PlayStore 中的官方 DJI Go 应用程序(CPU 使用率 ~10% 至 15%)与 DJI FPV 演示应用程序(CPU 使用率 ~40% 至 50%)时,CPU 使用率存在巨大差异。我使用“adb shell top”命令来分析 CPU 使用率。

DJI FPV Demo:
 6044 u0_a125  16  -4  51% S   151 1597524K 154936K  ta com.dji.FPVDemo
 6044 u0_a125  16  -4  40% S   154 1601524K 156208K  ta com.dji.FPVDemo
 6044 u0_a125  16  -4  43% S   157 1604996K 155932K  ta com.dji.FPVDemo
 6044 u0_a125  16  -4  43% S   159 1607068K 155640K  ta com.dji.FPVDemo
 6044 u0_a125  16  -4  49% R   163 1611676K 156136K  ta com.dji.FPVDemo
 6044 u0_a125  16  -4  44% S   166 1614516K 155000K  ta com.dji.FPVDemo
 6044 u0_a125  16  -4  43% S   167 1616440K 156840K  ta com.dji.FPVDemo
 6044 u0_a125  16  -4  40% S   170 1619948K 156568K  ta com.dji.FPVDemo
 6044 u0_a125  16  -4  43% S   173 1623292K 156680K  ta com.dji.FPVDemo

DJI Go:
 4009 u0_a158  16  -4  13% S   139 2261940K 223852K  ta dji.pilot
 4009 u0_a158  16  -4  13% S   136 2258952K 226304K  ta dji.pilot
 4009 u0_a158  16  -4  14% S   131 2253212K 227052K  ta dji.pilot
 4009 u0_a158  16  -4  14% S   130 2252356K 226992K  ta dji.pilot
 4009 u0_a158  16  -4  13% S   131 2253640K 223644K  ta dji.pilot
 4009 u0_a158  16  -4  14% S   128 2250664K 225868K  ta dji.pilot
 4009 u0_a158  16  -4  13% S   129 2251020K 226740K  ta dji.pilot

请注意,即使在 ConnectionActivity 上(即在 MainActivity 中开始视频解码之前),CPU 使用率也保持在 30% 左右。我的设备上似乎有很多垃圾无缘无故地占用 CPU...

问题: - 有谁知道这种巨大的 CPU 使用率差异背后的原因是什么? - 请就使用 DJI FPV Demo 应用程序时如何降低 CPU 使用率提出建议;请分享代码 sn-p 或使用示例代码更新 Github。

谢谢!

【问题讨论】:

  • 作为记录,使用 DJI iOS SDK 观察到相同的性能。这是一个巨大的问题,使得这个 SDK 对于想要自己完成任何额外 CPU 工作的实际应用程序几乎无法使用。

标签: java android dji-sdk


【解决方案1】:

DJI 用于包括 DJI GO 在内的 DJI 官方应用程序的代码库与为外部开发人员发布的移动 sdk 不同。至于为什么使用移动 sdk 的自定义应用程序使用更多 cpu 的更多细节 - 这将由 DJI 提供响应。

【讨论】:

    【解决方案2】:

    开发者网站上公开的SDK是Level 1的。可能是Level 2的SDK,只有在特定条件下发布才有解决方案

    Check this official video

    【讨论】:

      猜你喜欢
      • 2019-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多