Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序最小化时YouTubePlayerView的活动崩溃_Android_Youtube Api_Android Youtube Api - Fatal编程技术网

Android 应用程序最小化时YouTubePlayerView的活动崩溃

Android 应用程序最小化时YouTubePlayerView的活动崩溃,android,youtube-api,android-youtube-api,Android,Youtube Api,Android Youtube Api,我已经将YouTubePlayerView库集成到我们的应用程序中,它工作得非常好,但每当我最小化应用程序时,它就会崩溃,或者你可以说,每当应用程序在后台运行时,它就会崩溃 以下是崩溃日志: java.lang.NoClassDefFoundError: rt at rs.<clinit>(SourceFile:17) at android.support.v7.widget.RecyclerView.onSaveInstanceState(S

我已经将YouTubePlayerView库集成到我们的应用程序中,它工作得非常好,但每当我最小化应用程序时,它就会崩溃,或者你可以说,每当应用程序在后台运行时,它就会崩溃

以下是崩溃日志:

    java.lang.NoClassDefFoundError: rt
        at rs.<clinit>(SourceFile:17)
        at android.support.v7.widget.RecyclerView.onSaveInstanceState(SourceFile:201)
        at android.view.View.dispatchSaveInstanceState(View.java:12985)
        at android.view.ViewGroup.dispatchFreezeSelfOnly(ViewGroup.java:2643)
        at android.support.v7.widget.RecyclerView.dispatchSaveInstanceState(SourceFile:220)
        at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
        at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
        at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
        at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
        at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
        at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
        at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
        at android.view.View.saveHierarchyState(View.java:12968)
        at com.android.internal.policy.impl.PhoneWindow.saveHierarchyState(PhoneWindow.java:1705)
        at android.app.Activity.onSaveInstanceState(Activity.java:1277)
        at com.google.android.youtube.player.YouTubeBaseActivity.onSaveInstanceState(Unknown Source)
        at android.app.Activity.performSaveInstanceState(Activity.java:1226)
        at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1223)
        at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3342)
        at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3401)
        at android.app.ActivityThread.access$1100(ActivityThread.java:139)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1320)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:149)
        at android.app.ActivityThread.main(ActivityThread.java:5257)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
        at dalvik.system.NativeStart.main(Native Method)
07-03 13:02:44.608 31106-31174/com.seeken D/FA: Logging event (FE): _ae, Bundle[{_o=crash, timestamp=1499067164609, fatal=1}]
07-03 13:02:44.808 31106-31106/com.seeken I/dalvikvm: Could not find method java.util.Locale.toLanguageTag, referenced from method bme.a
07-03 13:02:44.808 31106-31106/com.seeken W/dalvikvm: VFY: unable to resolve virtual method 10275: Ljava/util/Locale;.toLanguageTag ()Ljava/lang/String;
07-03 13:02:44.808 31106-31106/com.seeken D/dalvikvm: VFY: replacing opcode 0x6e at 0x00e4
07-03 13:02:44.848 31106-31106/com.seeken D/dalvikvm: GC_FOR_ALLOC freed 3454K, 15% free 20646K/24152K, paused 25ms, total 25ms
07-03 13:02:44.868 31106-31106/com.seeken E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.seeken, PID: 31106
java.lang.NoClassDefFoundError: rt
    at rs.<clinit>(SourceFile:17)
    at android.support.v7.widget.RecyclerView.onSaveInstanceState(SourceFile:201)
    at android.view.View.dispatchSaveInstanceState(View.java:12985)
    at android.view.ViewGroup.dispatchFreezeSelfOnly(ViewGroup.java:2643)
    at android.support.v7.widget.RecyclerView.dispatchSaveInstanceState(SourceFile:220)
    at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
    at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
    at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
    at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
    at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
    at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
    at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2629)
    at android.view.View.saveHierarchyState(View.java:12968)
    at com.android.internal.policy.impl.PhoneWindow.saveHierarchyState(PhoneWindow.java:1705)
    at android.app.Activity.onSaveInstanceState(Activity.java:1277)
    at com.google.android.youtube.player.YouTubeBaseActivity.onSaveInstanceState(Unknown Source)
    at android.app.Activity.performSaveInstanceState(Activity.java:1226)
    at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1223)
    at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3342)
    at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3401)
    at android.app.ActivityThread.access$1100(ActivityThread.java:139)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1320)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:149)
    at android.app.ActivityThread.main(ActivityThread.java:5257)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
    at dalvik.system.NativeStart.main(Native Method)
这是我的舱单:

<activity android:name=".activities.VideoActivity"
            android:configChanges="orientation|screenLayout|screenSize"/>

我认为您的应用程序在重新启动时由于配置更改而崩溃

您可以禁用方向更改的自动活动重新创建,并自行处理

要做到这一点,请添加

android:configChanges="orientation|screenLayout|screenSize"
更多信息

或者在活动中添加此代码

@Nullable
protected YouTubePlayer mUtPlayer;

@Override
public void onSaveInstanceState(Bundle outState) {
/* release ut when home button pressed. */
if (mUtPlayer != null) {
    mUtPlayer.release();
}
mUtPlayer = null;
super.onSaveInstanceState(outState);
}

@Override
public void onStop() {
/* release ut when go to other fragment or back pressed */
if (mUtPlayer != null) {
    mUtPlayer.release();
}
mUtPlayer = null;
super.onStop();
}
您可以参考这篇文章,其中提出了一些可能有帮助的解决方法:

在onSavedInstanceState和onStop上释放YouTubePlayer。 如果不起作用,只需在onPause中而不是onSaveInstanceState和onStop中添加相同的行,并在onResume中而不是onCreate中初始化YouTubePlayerFragment,这样每次活动在前台时都可用,当应用程序进入后台时释放。 附加参考:

我已经在清单中添加了android:configChanges=orientation | screenLayout | screenSize这段代码,但仍然面临问题。请查收。
@Nullable
protected YouTubePlayer mUtPlayer;

@Override
public void onSaveInstanceState(Bundle outState) {
    /* release ut when home button pressed. */
    if (mUtPlayer != null) {
        mUtPlayer.release();
    }
    mUtPlayer = null;
    super.onSaveInstanceState(outState);
}

@Override
public void onStop() {
    /* release ut when go to other fragment or back pressed */
    if (mUtPlayer != null) {
        mUtPlayer.release();
    }
    mUtPlayer = null;
    super.onStop();
}