gpt4 book ai didi

android - 如何防止我的 android jni 调用中的代码停滞?

转载 作者:太空狗 更新时间:2023-10-29 14:05:01 24 4
gpt4 key购买 nike

我正在移植一个已经用 C++ 编写以在 Linux 上运行的应用程序,现在需要在 Android 设备上运行。它是一个 GPU 密集型应用程序,可以进行 OpenCL 调用,运行一组测试。这些可能需要数小时或数天才能完成运行。

我有一个 Java Activity ,它读取一些基本输入,然后将其传递给 JNI。

对于较短的操作它运行良好,但超过几秒就会暂停;我可以取消暂停它,它会继续运行,但之后它每执行一百次左右的操作就会严重挂起(本应花费不到一秒的时间需要一分钟)。

是不是我在 Android 知识方面缺乏某些东西,我忽略了一些可能导致这种情况的严重谬误?将所有代码移动到 NativeActivity 是否更有意义?或者我是否只需要经常调用 Java 来显示一些内容以防止操作系统将我关闭?

感谢有耐心回答我问题的 friend

最佳答案

在 Android 上,一个严格的规则是 CPU 密集型长时间操作不应在 UI 线程上运行。切换到 NativeActivity 或回调以显示某些内容都无济于事,但如果您在工作线程上运行测试,我可能会不时更新屏幕,以便用户跟踪总体进度。

关于android - 如何防止我的 android jni 调用中的代码停滞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33200907/

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