Memahami Deprecated di Android

Bagus Aji Santoso 21 Agustus 2017

Memahami Deprecated di Android

Google selalu merilis versi Android baru setiap tahun. Dalam prosesnya ada penambahan beberapa API, method, dan kelas yang lebih baik dibanding implementasi yang sudah ada. Oleh karena itu mereka selalu meminta developer untuk menggunakan API yang baru dan membuat method yang lama menjadi usang.

Apa itu deprecation (proses membuat suatu method usang)

  • Dalam dunia Android deprecation artinya Google ingin mencoba mengatakan "Kami akan terus mendukung cara ini, tapi kami rasa ada solusi yang lebih baik"
  • Biasanya fitur-fitur hanya akan di deprecated-kan dari pada dibuang. Hal ini dilakukan untuk memberikan backward compatibility dengan memberikan waktu bagi developer Android sehingga dapat mengubah kodenya dengan standar yang baru.

Apakah menggunakan kelas atau method yang deprecated itu salah?

  • Kekurangan utama menggunakan fitur yang telah deprecated adalah kemungkinan API tersebut sudah tidak tersedia di versi baru sehingga aplikasi kita wajib di perbarui saat itu.
  • Jika method yang deprecated mudah diganti dengan penggati yang baru, maka gunakan lah yang baru. Apabila ternyata belum ada pengganti yang mudah, pilihan akan kembali ke tangan masing-masing untuk menentukan apakah tindakan pencegahan perlu dilakukan.

Contoh kasus:

  • setBackgroundDrawable dapat diganti dengan setDrawable tanpa adanya perubahan yang berarti.
  • Sebaliknya, startManagingCursor lebih sulit untuk diganti sehingga developer masih perlu memikirkannya.

Apa yang akan terjadi jika Saya terus menggunakan method yang Deprecated

  • Kode yang kita tulis akan tetap berjalan selama yang di deprecated-kan belum dihapus dari SDK. Jika suatu saat dihapus, maka kita wajib menggantinya agar dapat bekerja dengan SDK yang baru.
  • Jika tidak ingin melakukan perubahan maka periksa alasan dibalik keputusan membuat suatu fitur deprecated. Jika alasannya karena performance maka kita mungkin perlu melakukan upgrade ke method terbaru.

Sumber: Mindorks