Может ли Объект интерфейса остановить сборку активности - PullRequest
0 голосов
/ 08 марта 2020

Использование объекта интерфейса в вызове функции предотвращает сбор мусора для операции. Пример использования: использование этого интерфейса для получения статуса загрузки большого файла.

и каков наилучший метод для достижения того же результата

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) {
           }

       })
   }

}
...