android - 即使应用程序已关闭,如何从服务进行 JNI 调用?

标签 android android-ndk java-native-interface android-service application-lifecycle

我有一个应用程序需要进行非常繁重的图像处理。我的应用程序在 Activity 中处理非常低分辨率的图像,我打算在服务中进行全分辨率图像处理,因此即使用户关闭了应用程序,处理和保存结果也会在后台通过服务完成。我试过这个,甚至我的服务继续运行 JNI 函数在应用程序关闭时停止工作。我不确定真正的原因,但我怀疑当应用程序关闭时正在卸载 native 库。所以我的问题是,即使应用程序已关闭,我如何从服务进行 JNI 调用?

最佳答案

尝试使用守护进程。在这种情况下,您可以将您的 java 进程变成守护进程并完成主进程。

看这里:

https://github.com/mkowsiak/jnicookbook/tree/master/recipes/recipeNo022

关于android - 即使应用程序已关闭,如何从服务进行 JNI 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17841625/

相关文章:

android - list 合并失败 : Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported`

java.lang.UnsatisfiedLinkError : dlopen failed: . 所以库是 64 位而不是 32 位

android - Android NDK printf 输出在哪里?

android-ndk - ndk-build clean错误

java - 如何在 JDK 17 应用程序中查找通过 JNI 使用的 native 库?

java - 如何使用 JNI 在 C 中创建 byte[][](java) 并将其传递给对象

android - 从使用自定义程序对话框的异步任务更新 TextView

java - 如何为 Android 5.0 构建我的纯 Java (Swing) 应用程序?

java - 为什么 checkSelfPermission() 抛出 NullPointerException

java - ANT 使用 JNI 库启动 Java 应用程序