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。
在使用本机代码的地方子类化 InputMethodService
时,Android 将在关闭输入法时终止服务。
稍后,Android 将重新启动服务并且 JNI 不存在导致 Java 无法找到本机函数并抛出异常。
我之前以为只需要MainActivity
中的一个System.loadLibrary
。这也应该添加到服务中吗?
将 LoadLibrary 放入所有相关的 classes 中没有额外的成本,所以去吧。在每个 Java class 或 Kotlin class
的伴随对象的静态构造函数中使用它MainActivity 不是开始的最佳选择,因为以后每次添加另一个 activity 或可以独立启动的服务时,一定不要忘记复制您的 LoadLibrary。