trime icon indicating copy to clipboard operation
trime copied to clipboard

卡机崩溃bug

Open theLSA opened this issue 1 year ago • 1 comments

摘要 / Summary

安装完trime并且完成开始的三个初始设置步骤(开文件权限、设置输入法,设置默认)后,sdcard目录下生成rime文件夹,此时按系统菜单键(红米是三条横线),再按返回键,重复约六七次,就会出现卡机的bug(此时trime输入法无法使用,点击输入框没有键盘界面了),任何操作(点击滑动等)很久才会响应,系统设置里停止trime或者卸载即可恢复(稳定重现) 而3.2.17版本比较特殊,此版本安装完成点击回车左边的更多按键会崩溃一次,崩溃后重新部署就不会卡了,但是点击更多按键后,打字不会出现字母,只有候选词,而点击更多按键之前可以出现字母。(不稳定重现,大多数情况还是会卡)

重现步骤 / Steps to Reproduce

按系统菜单键(红米是三条横线),再按返回键,重复约六七次,就会出现卡机的bug

预期行为 / Expected Behavior

不卡机

日志 / Log

3.2.17崩溃日志 --------- Crash stacktrace java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:557) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) ... 1 more Caused by: org.koin.core.error.NoBeanDefFoundException: No definition found for type 'com.osfans.trime.data.theme.Theme'. Check your Modules configuration and add missing type and/or qualifier! at org.koin.core.scope.Scope.throwDefinitionNotFound(Scope.kt:301) at org.koin.core.scope.Scope.resolveValue(Scope.kt:271) at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233) at org.koin.core.scope.Scope.get(Scope.kt:212) at com.osfans.trime.ime.symbol.LiquidKeyboard$special$$inlined$inject$default$3.invoke(KoinComponent.kt:67) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.osfans.trime.ime.symbol.LiquidKeyboard.getTheme(LiquidKeyboard.kt:39) at com.osfans.trime.ime.symbol.LiquidKeyboard.access$getTheme(LiquidKeyboard.kt:36) at com.osfans.trime.ime.symbol.LiquidKeyboard$dbAdapter$2.invoke(LiquidKeyboard.kt:52) at com.osfans.trime.ime.symbol.LiquidKeyboard$dbAdapter$2.invoke(LiquidKeyboard.kt:51) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.osfans.trime.ime.symbol.LiquidKeyboard.getDbAdapter(LiquidKeyboard.kt:51) at com.osfans.trime.ime.symbol.LiquidKeyboard.initDbData(LiquidKeyboard.kt:186) at com.osfans.trime.ime.symbol.LiquidKeyboard.select(LiquidKeyboard.kt:116) at com.osfans.trime.ime.core.TrimeInputMethodService.selectLiquidKeyboard(TrimeInputMethodService.kt:257) at com.osfans.trime.ime.core.TrimeInputMethodService.selectLiquidKeyboard(TrimeInputMethodService.kt:278) at com.osfans.trime.ime.text.TextInputManager.onEvent(TextInputManager.kt:347) at com.osfans.trime.ime.keyboard.KeyboardView.detectAndSendKey(KeyboardView.kt:1084) at com.osfans.trime.ime.keyboard.KeyboardView.onModifiedTouchEvent$modifiedPointerUp(KeyboardView.kt:1623) at com.osfans.trime.ime.keyboard.KeyboardView.onModifiedTouchEvent(KeyboardView.kt:1688) at com.osfans.trime.ime.keyboard.KeyboardView.onTouchEvent(KeyboardView.kt:1482) at android.view.View.dispatchTouchEvent(View.java:11820) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2680) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:452) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1829) at android.app.Dialog.dispatchTouchEvent(Dialog.java:815) at android.inputmethodservice.SoftInputWindow.dispatchTouchEvent(SoftInputWindow.java:102) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:414) at android.view.View.dispatchPointerEvent(View.java:12066) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5046) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4853) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4383) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4436) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4402) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4529) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4410) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4586) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4383) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4436) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4402) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4410) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4383) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7018) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6990) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6947) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7141) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:257) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:331) at android.os.Looper.loop(Looper.java:149) at android.app.ActivityThread.main(ActivityThread.java:6656) ... 3 more

截图 / Screenshot

No response

附加信息 / Additional Context

rime配置: https://github.com/iDvel/rime-ice

trime主题: https://github.com/chwt163/mytrime

尝试的解决方案: 多次重新部署并清理缓存,停止启动trime,在主题文件layout下添加min_check: 1 都无法解决。

用https://github.com/osfans/trime/issues/997#issuecomment-1512423902 以及3.2.16debug 不会卡。

//猜测可能是3.2.16到3.2.17之间有什么修改引起android13高版本卡机(另一台Android8.0的红米不会卡)

系统版本 / OS Version

红米,arm64-v8a,android13

应用版本 / App Version

3.3.0 / 3.2.19 / 3.2.18 / 3.2.17

构建信息 / Build Information

3.3.0 - https://github.com/osfans/trime/releases/download/nightly/com.osfans.trime-nightly-0-g5776370a-arm64-v8a-release.apk 3.2.19 - https://github.com/osfans/trime/releases/download/v3.2.19/com.osfans.trime-v3.2.19-0-ge46046ab-arm64-v8a-release.apk 3.2.18 - https://github.com/osfans/trime/releases/download/v3.2.18/com.osfans.trime-v3.2.18-0-gc10e2e84-arm64-v8a-release.apk 3.2.17 - https://github.com/osfans/trime/releases/download/v3.2.17/com.osfans.trime-nightly-0-g98e201b9-arm64-v8a-release.apk

theLSA avatar Aug 16 '24 17:08 theLSA

根据你的日志,这是老版本出现的问题,现已修复。频繁拉起导致崩溃与 #1403 重复。

WhiredPlanck avatar Sep 16 '24 19:09 WhiredPlanck