2016-05-04 14 views
-1

Ich habe das neueste Android Studio aktualisiert und ein neues leeres Projekt erstellt. Ich habe den folgenden Code zu der MainActivity.java-Datei hinzugefügt, aber onDestroy() wird nie aufgerufen. Gibt es eine Möglichkeit, ein Ereignis zu zerstören?onDestroy rief nie

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
    } 
} 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.edevshop.destroy"> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

</manifest> 
+0

Es wird aufgerufen. –

+0

Aufruf 'onFinish()' Instant von 'onDestroy()' –

+0

Manifesteinstellungen anzeigen – PeDuCKA

Antwort

2

onDestroy() wird nur aufgerufen, wenn das System wenig Ressourcen (Speicher, CPU-Zeit und so weiter) und eine Entscheidung trifft, Ihre Aktivität/Anwendung zu töten, oder wenn jemand ruft finish() für deine Aktivität an.

Also, um Ihren Code() zu testen, können Sie eine Test-Taste, die auf Ihre Aktivität beenden() aufrufen.

Lesen Sie mehr here.

Außerdem glaube ich, dass Sie nicht all diese Sachen in onDestroy() aufrufen müssen, bis Adap keine kritische Ressource ist. Und selbst in diesem Fall hat Android-System Mechanismen, um sie ordnungsgemäß zu entsorgen.

Sein bereits beantwortet here

0

einfach ausprobieren und ändern Sie Ihre onDestroy() Methode wie folgt:

@Override 
protected void onDestroy() { 
    Log.d("TAG", "Yay.. onDestroy called!"); 
    super.onDestroy(); 
} 

Jetzt ... Run App> Öffnen Logcat> schließen App (Von BACK Drücken der Taste) Du wirst ein LOG sehen.

+0

Danke, es funktioniert aber nicht immer wie beschrieben Sanjay Kakadiya. – CameraDev