/** Must be called on the UI thread */
public void initKeyboard() {
reset();
setNavBarColor();
textInputManager.setShouldUpdateRimeOption(true); // 不能在Rime.onMessage中調用set_option,會卡死
bindKeyboardToInputView();
// loadBackground(); // reset()调用过resetCandidate(),resetCandidate()一键调用过loadBackground();
updateComposing(); // 切換主題時刷新候選
}
Log
Log并未指明崩溃的原因
java_vm_ext.cc:577] JNI DETECTED ERROR IN APPLICATION: thread Thread[1,tid=2900,Native,Thread*=0xb4000070f6123c00,peer=0x73285558,"main"] using JNIEnv* from thread Thread[24,tid=3804,Runnable,Thread*=0x70039ea000,peer=0x13680ef8,"DefaultDispatcher-worker-1"]
java_vm_ext.cc:577] in call to FindClass
java_vm_ext.cc:577] from void com.osfans.trime.Rime.set_option(java.lang.String, boolean)
Describe the bug 部分操作会导致App卡死,且软件盘不弹出。
To Reproduce 待收集
Expected behavior 崩溃Log指向set_option。 在trime类中有如下代码,注释中提及了
在Rime.onMessage中調用set_option会卡死
,看上去set_option的调用需要更加谨慎。需要收集更多的信息来优化Log Log并未指明崩溃的原因