onDestroy 从未调用过
onDestroy never called
我更新了最新的 Android Studio 并创建了一个新的空白项目。我将以下代码添加到 MainActivity.java 文件中,但从未调用过 onDestroy()。有什么方法可以获取销毁事件吗?
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>
onDestroy() 仅在系统资源不足(内存、cpu 时间等)并决定终止您的 activity/application 或有人调用 finish() 时调用你的 activity.
因此,要测试您的代码(),您可以创建一个测试按钮,它将在您的 activity.
上调用 finish()
阅读更多here。
此外,我相信在 adap 不是关键资源之前,您不需要在 onDestroy() 中调用所有这些东西。即使在那种情况下 android 系统也有适当处理它们的机制。
已经回答了here
只需查看并修改您的 onDestroy()
方法,如下所示:
@Override
protected void onDestroy() {
Log.d("TAG", "Yay.. onDestroy called!");
super.onDestroy();
}
现在... 运行 应用 > 打开 LOGCAT > 关闭应用(按“返回”按钮)
您会看到一个日志。
我更新了最新的 Android Studio 并创建了一个新的空白项目。我将以下代码添加到 MainActivity.java 文件中,但从未调用过 onDestroy()。有什么方法可以获取销毁事件吗?
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>
onDestroy() 仅在系统资源不足(内存、cpu 时间等)并决定终止您的 activity/application 或有人调用 finish() 时调用你的 activity.
因此,要测试您的代码(),您可以创建一个测试按钮,它将在您的 activity.
上调用 finish()阅读更多here。
此外,我相信在 adap 不是关键资源之前,您不需要在 onDestroy() 中调用所有这些东西。即使在那种情况下 android 系统也有适当处理它们的机制。
已经回答了here
只需查看并修改您的 onDestroy()
方法,如下所示:
@Override
protected void onDestroy() {
Log.d("TAG", "Yay.. onDestroy called!");
super.onDestroy();
}
现在... 运行 应用 > 打开 LOGCAT > 关闭应用(按“返回”按钮) 您会看到一个日志。