val bag = CompositeDisposable()
RxTextView.textChanges(edFirstName)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.map { it.toString().trim() }
.subscribe {
btnSubmit.isEnabled = it.isNotBlank()
updateRequest.firstName = it
}.addTo(bag)
RxTextView.textChanges(edLastName)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.map { it.toString().trim() }
.subscribe {
btnSubmit.isEnabled = it.isNotBlank()
updateRequest.lastName = it
}.addTo(bag)
[有时,当我尝试编辑文本时,其值为“ 11491992”,应用被冻结,logcat具有此超时,等待IME在2500毫秒后处理输入事件:com.google.android.inputmethod...。
if (timeout) {
Log.w(TAG, "Timeout waiting for IME to handle input event after "
+ INPUT_METHOD_NOT_RESPONDING_TIMEOUT + " ms: " + p.mInputMethodId);
} else {
mH.removeMessages(MSG_TIMEOUT_INPUT_EVENT, p);
}
还总是尝试在除主线程之外的任何线程上处理所有耗时的操作。
更新1:请参见How an app hanged without an ANR?
您应该使用探查器屏幕。
LeakCanary,如果内存泄漏。