android: Wrong object lifecycle management
Reported from @wisonye https://github.com/NativeScript/NativeScript/issues/1705
The test phone is a Huawei P8 lite version( Android 5.0 ), it’s very easy to re-show the issue, just like my loginUI, if I do type in the “password” field, it will crash( sometimes need to long press to show up the “copy/paste” floating mean to cause crash ), UI super simple, looks like this:
https://drive.google.com/file/d/0B-AooW_48tzISmZCbnNNeDB2ZUU/view?usp=sharing
And here is the crash log output, if your team found something, that’s good, if have no idea, then just ignore it, I just want to do a “potential bug report” 😃
com.tns.NativeScriptException: No weak reference found. Attempt to use cleared object reference id=366
at com.tns.Platform.getJavaObjectByID(Platform.java:633)
at com.tns.Platform.callJSMethodNative(Native Method)
at com.tns.Platform.dispatchCallJSMethodNative(Platform.java:812)
at com.tns.Platform.callJSMethod(Platform.java:711)
at com.tns.Platform.callJSMethod(Platform.java:690)
at com.tns.Platform.callJSMethod(Platform.java:680)
at com.tns.gen.android.text.TextWatcher_ftns_modules_ui_editable-text-base_editable-text-base_l22_c29__.afterTextChanged(android.text.TextWatcher.java)
at android.widget.TextView.sendAfterTextChanged(TextView.java:7771)
at android.widget.TextView$ChangeWatcher.afterTextChanged(TextView.java:9563)
at android.text.SpannableStringBuilder.sendAfterTextChanged(SpannableStringBuilder.java:976)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:520)
at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:216)
at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:33)
at android.view.inputmethod.BaseInputConnection.deleteSurroundingText(BaseInputConnection.java:249)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:398)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:82)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5538)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 21 (3 by maintainers)
Commits related to this issue
- fix issue #382 — committed to NativeScript/android by deleted user 8 years ago
- performance optimization — committed to NativeScript/android by deleted user 8 years ago
- fix issue #382 — committed to NativeScript/android by deleted user 8 years ago
- fix for issue #382 — committed to NativeScript/android by deleted user 8 years ago
- Merge pull request #429 from NativeScript/slavchev/fix-for-issue-382 fix for issue #382 — committed to NativeScript/android by deleted user 8 years ago
I used android@next that was available about 10 days ago. I tested with current version 2.0.0-2016-04-27-549 and TextField works without crash.
Hi @Jayuda, The error you have is because you have installed 0.10 or 0.12 version of nodejs. If you upgrade your nodejs to 4.x or 5.x, this problem will go away.
Hey guys,
We’d rather deliver the goodies we have accumulated already to the community. Fixing the management of the obect lifecycle is our current task. We hope to have 1.7.1 as soon as possible (estimated to some time early next week).
Thank you for your support!
Cheers, Erjan
I mean, this is probably as serious of an issue as they come. Our app is too unstable to ship in the current state. I understand the complexities around keeping the scope of the 1.7 release as-is and not introducing new things last minute. In reality, whatever is the quickest way to get the fix out, I’m on board with.