при уничтожении объекта?
finalize() мб пойдет? Вроде ж можно заоверрайдить (только зачем).
нет, не надо хотеть деструктор
finalize не вызывается гарантированно
Почему не надо хотеть?
неподходящий рантайм
Не понятно
ну нам тут тоже не очень понятно, зачем тебе деструктор)
Приложение общается с С уровнем, на котором написана высопроизводительная логика. Деструктор нужен чтобы освободить память в С
Классика. Финализатор, Cleaner и т. п. — наверняка в интернете сотня рецептов
Я тут чтобы черпать бест практис, интернет никто не отменял, но тут могли быть люди походившие по граблям до меня))
Если честно, то я ожидал каких-то таких слов «если тебе понадобился деструктор в языке, в котором нет деструктора, то ты решаешь эту задачу неправильно, а правильно вот таким путём»
Правильный вариант - добавить метод dispose в класс, который держит нативный ресурс. И вызывать его например в onDestroy. Но если к этому классу необходим доступ с разных потоков, то тогда всё сложнее.
дак а вызывать его кто будет?)
нуууу… это если есть привязка к конкретному компоненту
Ну да, в Андроид обычно есть :-) В Kotlin/Native есть Cleaner. А в JVM наверно finalize - самое близкое.
в JVM есть Cleaner в андроид — не завезли 🌚
Обсуждают сегодня