use*_*669 23 android logcat cordova android-studio
我刚刚设置了我的第一个Cordova项目并安装了OneSignal推送通知.这一切都按照我的预期运行,但Android开发人员工具在控制台中显示:
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
I/art: WaitForGcToComplete blocked for 6.202ms for cause Background
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
W/art: Attempt to remove non-JNI local reference, dumping thread
Run Code Online (Sandbox Code Playgroud)
应用程序运行时会不断输出此消息.
它是什么意思,如何解决任何问题?
Sam*_*ter 17
似乎这个问题与这个Chromium bug有关.引用错误报告:
在最近的版本ART与CheckJNI开启,这会导致打印到logcat的说明"尝试删除非JNI本地参考,倾线"与线程转储垃圾警告,因为显然是不应该的参数被删除,只从native-> java JNI调用作为本地引用返回的对象.这实际上不是一个问题,因为运行时在这种情况下什么都不做(除了打印警告),但对于webview使用的应用程序来说,这可能是想要运行启用了checkjni的开发构建的垃圾邮件.
这与主机GPU仿真问题不同,后者会使应用程序崩溃而不是让它与垃圾邮件警告一起运行.
我看起来相当多,但无法找到一种方法来禁用ART上的CheckJNI(即使Dalvik有可能).我目前的解决方法是过滤logcat.为此,请在Android Studio的logcat窗口中选择警告文本,然后右键单击并选择Fold lines like this
.
jka*_*ten 16
这些条目与之无关OneSignal
.从下面的线程这看起来是同一个错误WebView
,同时使用可枚举更经常发生的host GPU
是关闭.请参阅下面提到的线程.
如果您是在自己的应用程序中收到此消息的开发人员,请确保您没有意外删除作为 JNI 方法参数提供的本地引用。
即不要这样做:
JNIEXPORT void JNICALL Java_my_app_MyClass_myMethod
(JNIEnv* env, jobject self, jobject someParam) {
env->DeleteLocalRef(someParam);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27643 次 |
最近记录: |