【发布时间】:2013-09-20 18:27:21
【问题描述】:
我有一个在 Android 上运行的应用程序,它通过 JNI 接口与 C++ 代码通信。在 C++ 代码中,我正在使用 OpenCV 进行一些硬图像处理。
例如,让“硬处理”需要 40 秒。在 Morotola Milestone 1 或三星 S3 mini 上也需要同样的时间。
我还在 2 台笔记本电脑上进行了一些测试。在这种情况下,Java 应用程序通过 JNI 与完全相同的 C++ 代码进行通信。如果我在具有 4 GB RAM 的华硕笔记本电脑(AMD E-450 处理器)或 Bangho 笔记本电脑(英特尔酷睿 i5)上运行该应用程序,我会在几秒钟内得到相同的结果。 (注意:笔记本电脑的处理速度快 4 到 5 倍)
我现在有点失望。问题是:
有没有办法充分利用处理器?(我知道我可以更改笔记本电脑中 JVM 的内存设置,但这似乎不是内存问题)
我没有发布代码,因为它非常广泛。任何帮助都会非常感激。
【问题讨论】:
-
桌面处理器比移动处理器快很多。 4 到 5 次听起来很合理。
标签: android performance opencv image-processing jvm