Использование объекта интерфейса в вызове функции предотвращает сбор мусора для операции. Пример использования: использование этого интерфейса для получения статуса загрузки большого файла.
и каков наилучший метод для достижения того же результата
object FileUploadMethods {
interface FileUploadResponse {
fun onSuccess(url: String)
fun onFail(exception: Exception)
fun onProgress(progress: Int)
}
fun uploadFile(file: File, response: FileUploadResponse){
// Some Code
}
}
class A : AppCompatActivity(){
override onCreate(){
FileUploadMethods.uploadFile(file, object : FileUploadMethods.FileUploadResponse{
override fun onSuccess(url: String) {
}
override fun onFail(exception: Exception) {
}
override fun onProgress(progress: Int) {
}
})
}
}