我的應用程式設定為每個 Fragment 都有一個唯一的工具列。在一個特定的片段中,我想覆寫工具列中的 Navigate Up 或 Back 按鈕以向用戶發出警告以確認他們的意圖。
我最初在這里問這個問題,發現通過將我的原始代碼更改為使用 setSupportActionBar 來實作工具列,我能夠為片段維護我獨特的工具列并覆寫 Navigate Up 按鈕。
但是,我剛剛注意到,每當我退出使用 setSupportActionBar 作為工具列的片段時,都會出現記憶體泄漏(與該用戶發現的問題相同)。我通過注釋掉設定操作欄的行來確認這一點,并看到泄漏已經消失。
如何維護我獨特的工具列,覆寫導航按鈕并避免這種記憶體泄漏?
uj5u.com熱心網友回復:
但是,我只是注意到,每當我退出使用 setSupportActionBar 作為工具列的片段時,都會出現記憶體泄漏
setSupportActionBar(null)當這個特定片段被銷毀時,您可以嘗試消除它:
override fun onDestroy() {
super.onDestroy()
(requireActivity() as AppCompatActivity).setSupportActionBar(null)
}
爪哇:
// In the fragment
@Override
public void onDestroy() {
super.onDestroy();
((AppCompatActivity) requireActivity()).setSupportActionBar(null);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/324315.html
標籤:安卓 android-fragments 内存泄漏 android-架构-组件
上一篇:僅當ViewModel中的某些變數更改時,在MVVMAndroid中顯示對話框才會引發例外
下一篇:如何在不單擊的情況下顯示片段
