Полностью уничтожить экземпляр фрагмента - PullRequest
0 голосов
/ 03 июля 2018

Я использую пользовательский Backstack для управления экранами приложения. По сути, пользовательский BackStack представляет собой список. Проблема в том, что этот метод делает утечки памяти.

Этот метод проверяет, есть ли уже фрагмент в ячейке:

    private fun addToBackStack(fragment: Fragment){
    try {
        if (backStack.isNotEmpty() && backStack[backStackPosition] != null)
            fragmentUtils.removeFragment(backStack[backStackPosition]!!)
    } catch (e: IndexOutOfBoundsException) {
        e.printStackTrace()
    }
    backStack.add(backStackPosition, fragment)
}

И вот как я пытаюсь удалить его:

fun removeFragment(fragment: Fragment?){
    fm.beginTransaction().remove(fragment).commit()
}

Но у меня все еще есть утечки памяти, согласно LeakCanary. Что я делаю не так или как полностью уничтожить фрагмент?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...