2016-08-09 10 views
1

Ich verwende Exoplayer in der Recyclerivew. Ich möchte die Exoplayer auf Activity zerstören lassen. Ich verwende Exoplayer in der ViewHolder. Ich bin nicht in der Lage, eine Möglichkeit zu finden, die Exoplayer freizugeben.Exoplayer kann nicht aus dem Speicher freigegeben werden

public void releaseMemory() { 
    audioCapabilitiesReceiver.unregister();//Method in the ViewHolder 
    player.release(); 
} 


public void releaseMemory() { 
    viewHolder.releaseMemory();//Method in the Adapter 
} 


@Override 
protected void onDestroy() { 
    videoAdapter.releaseMemory();//Method in the Activity 
    super.onDestroy(); 
} 

Jetzt bekomme ich die RuntimeException .ist es andere effiziente Art und Weise, dies zu tun.

E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.waynell.videolist.demo, PID: 22746 
                     java.lang.RuntimeException: Unable to stop activity {com.waynell.videolist.demo/com.waynell.videolist.demo.activity.MainActivity}: java.lang.NullPointerException 
                      at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3487) 
                      at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3541) 
                      at android.app.ActivityThread.access$1400(ActivityThread.java:138) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:149) 
                      at android.app.ActivityThread.main(ActivityThread.java:5045) 
                      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:794) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610) 
                      at dalvik.system.NativeStart.main(Native Method) 
                     Caused by: java.lang.NullPointerException 
                      at com.waynell.videolist.demo.activity.MainActivity.onStop(MainActivity.java:325) 
                      at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1212) 
                      at android.app.Activity.performStop(Activity.java:5376) 
                      at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3482) 
                      at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3541)  
                      at android.app.ActivityThread.access$1400(ActivityThread.java:138)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:149)  
                      at android.app.ActivityThread.main(ActivityThread.java:5045)  
                      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:794)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)  
                      at dalvik.system.NativeStart.main(Native Method)  

Antwort

0

Sie können die player onStop() - Methode für eine Aktivität stoppen stattdessen onDestroy();

+0

Funktioniert immer noch Wird der gleiche Fehler angezeigt. –

+0

Müssen ganze Fehlerprotokolle suchen, um zu verfolgen, wo es tatsächlich Fehler gibt – NilayDani

+0

Es ist nicht vollständige Protokolle möglicherweise Sie fehlen einige Protokolle – NilayDani

Verwandte Themen