Android,对于 JNI,是否应该在 InputMethodService 中调用 System.loadLibrary?

Android, for JNI should System.loadLibrary be called in an InputMethodService?

在使用本机代码的地方子类化 InputMethodService 时,Android 将在关闭输入法时终止服务。

稍后,Android 将重新启动服务并且 JNI 不存在导致 Java 无法找到本机函数并抛出异常。

我之前以为只需要MainActivity中的一个System.loadLibrary。这也应该添加到服务中吗?

将 LoadLibrary 放入所有相关的 classes 中没有额外的成本,所以去吧。在每个 Java class 或 Kotlin class

的伴随对象的静态构造函数中使用它

MainActivity 不是开始的最佳选择,因为以后每次添加另一个 activity 或可以独立启动的服务时,一定不要忘记复制您的 LoadLibrary。