首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java.lang.IllegalArgumentException:尝试移除从未添加的OnFrameMetricsAvailableListener

java.lang.IllegalArgumentException:尝试移除从未添加的OnFrameMetricsAvailableListener
EN

Stack Overflow用户
提问于 2018-10-23 17:30:37
回答 2查看 1.1K关注 0票数 2

这款应用在安卓8上崩溃了。

当我尝试从mainActivity打开任何活动,然后按回主活动并尝试打开任何其他活动都会导致应用程序崩溃

它说应用程序无法停止主活动!

这是日志

代码语言:javascript
复制
2018-10-23 12:19:33.963 20358-20358/global.medicount.healthpass.dev E/AndroidRuntime: FATAL EXCEPTION: main
Process: global.medicount.healthpass.dev, PID: 20358
java.lang.RuntimeException: Unable to stop activity {global.medicount.healthpass.dev/global.medicount.healthpass.ui.main.MainActivity}: java.lang.IllegalArgumentException: attempt to remove OnFrameMetricsAvailableListener that was never added
    at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4038)
    at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4087)
    at android.app.ActivityThread.-wrap24(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1625)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6518)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
 Caused by: java.lang.IllegalArgumentException: attempt to remove OnFrameMetricsAvailableListener that was never added
    at android.view.View.removeFrameMetricsListener(View.java:6252)
    at android.view.Window.removeOnFrameMetricsAvailableListener(Window.java:889)
    at android.support.v4.app.FrameMetricsAggregator$FrameMetricsApi24Impl.remove(FrameMetricsAggregator.java:436)
    at android.support.v4.app.FrameMetricsAggregator.remove(FrameMetricsAggregator.java:246)
    at com.google.android.gms.internal.firebase-perf.zze.onActivityStopped(Unknown Source:60)
    at android.app.Application.dispatchActivityStopped(Application.java:234)
    at android.app.Activity.onStop(Activity.java:1862)
    at android.support.v4.app.FragmentActivity.onStop(FragmentActivity.java:636)
    at android.support.v7.app.AppCompatActivity.onStop(AppCompatActivity.java:184)
    at global.medicount.healthpass.ui.base.BaseActivity.onStop(BaseActivity.java:388)
    at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1376)
    at android.app.Activity.performStop(Activity.java:7205)
    at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4035)
    at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4087) 
    at android.app.ActivityThread.-wrap24(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1625) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:164) 
    at android.app.ActivityThread.main(ActivityThread.java:6518) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 

Gradle:

代码语言:javascript
复制
dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.0.1'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
        classpath 'io.fabric.tools:gradle:1.25.4'
    }

依赖项:

代码语言:javascript
复制
    implementation "com.google.firebase:firebase-core:16.0.4"
    implementation "com.google.firebase:firebase-messaging:17.3.4"
    implementation 'com.google.firebase:firebase-perf:16.1.2'

我已经在旧的android版本(6)上测试了这个问题,这个问题没有发生。这个应用程序运行得很好。我看到了一些降级firebase-pref的解决方案,但这并没有解决我的问题。我完全不知道我该做什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-25 03:43:36

在这里,它是解决我的问题的解决方案,使我的项目成功编译和运行。

gradle项目

代码语言:javascript
复制
buildscript {

    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.0.1'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
        classpath 'io.fabric.tools:gradle:1.25.4'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "https://maven.google.com" // Google's Maven repository
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

ext {
    // Sdk and tools
    minSdkVersion = 19
    targetSdkVersion = 28
    compileSdkVersion = 28
    buildToolsVersion = '28.0.0'
    versionCode = 18
    versionName = '3.6.0'

    // App dependencies
    supportLibraryVersion = '28.0.0'
    ....
}

,这里是AppGradle dependences

代码语言:javascript
复制
implementation "com.google.firebase:firebase-core:16.0.4"
implementation "com.google.firebase:firebase-messaging:17.3.4"
implementation "com.google.firebase:firebase-perf:16.1.2"

此外,我在异步任务中遇到了一个问题,所以它说异步任务只能执行一次,所以解决方案是

代码语言:javascript
复制
uploadUserIdProofTask.cancel(true);
uploadUserIdProofTask = new UploadUserIdProof();
uploadUserIdProofTask.execute(objects);

这些代码行对我很有帮助,我不知道这和日志之间有什么关系,但它对我很有效。

票数 0
EN

Stack Overflow用户

发布于 2018-12-31 10:55:16

尝试从application标记下的AndroidManifest.xml中删除android:hardwareAccelerated="false"

这解决了我的问题,没有降级任何库。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52945675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档