Kamu pemakai Camera X? Team developer Crocodic menggunakan CameraX untuk pengembangan aplikasi yang dipakai di lapangan.
Akses library selengkapnya untuk CameraX dapat kita temukan dokumentasinya disini. https://developer.android.com/jetpack/androidx/releases/camera?hl=id
untuk pengimplementasiannya ada disini
https://developer.android.com/codelabs/camerax-getting-started#0
Setelah perubahan dari Alpha ke Beta pada 24 Agustus 2022, ada beberapa perubahan yang noticeable dan issue yang ditemukan oleh engineer.
Perbandingan versi Alpha dan Beta
Di versi 1.1.0-beta01, dibandingkan dengan versi Alpha, ada beberapa kelebihan yang kita ketahui diantaranya adalah
Kelebihan versi Beta
– Callback bawaan hasil foto sudah bisa untuk menyimpan ke file directory yang diinginkan
– Penambahan library kamera-video resmi untuk mendukung kasus penggunaan pengambilan video
– Mendukung mode multi-aplikasi dengan mengizinkan aplikasi CameraX melanjutkan kamera saat kamera dijeda oleh aplikasi lain dan fokus kembali
– Penambahan CameraState API yang akan diekspos melalui CameraInfo
Kelebihan versi Alpha
– Perbaikan bug rotasi saat menganalisis gambar
– Penambahan pengujian robolektrik awal untuk kamera palsu dalam paket pengujian kamera (WIP).
– Perbaikan bug di mana pratinjau terlihat hitam di awal (data kamera tidak ada), setelah rotasi atau peralihan antara kamera depan dan belakang.
Issue di update Beta CameraX
Update dari versi beta & alpha untuk hasil/output yg di berikan sama, hanya saja perbedaannya terjadi saat pemrosesan hasilnya ada terjadi delay pengambilan gambar di versi beta. Issue delay ini terjadi saat pengambilan gambar, yakni setelah shutter ditekan lalu ada proses lain di library CameraX, sehingga ada jeda waktu hingga gambar yang diambil ditampilkan. Lama waktu delay tersebut cukup bervariasi, dari sekitar satu hingga enam detik.
Issue ini tidak ditemukan di semua device Android. Hanya saja, issue ini juga ditemukan di device yang sudah menyandang OS Android 12 yang notabene merupakan OS Android terbaru. Untuk callback, hasil diketahui bahwa tidak menggunakan fungsi lain selain di librarynya itu sendiri.
Untuk memahami issue ini, kami membandingkan library versi Alpha dengan Beta di beberapa device yang mengalami issue. Hasil coding versi beta yang terjadi issue adalah sebagai berikut :
Penyelesaian issue dengan mengcompare library versi alpha dengan beta agar di test di device yg terjadi issue
Untuk coding versi beta yang terjadi issue adalah sebagai berikut :
Sementara itu, coding versi alpha yang lebih stabil adalah sebagai berikut :
Pengimplementasian yang terjadi di coding beta & alpha cukup berbeda, contoh untuk versi beta menggunakan MainExecutor sedangkan di versi alpha tidak menggunakannya. MainExecutor yang dimaksud sebagai berikut
untuk versi beta tanpa menggunakan MainExecutor.
Setelah membandingkan library antara beta & alpha, hipotesis kami perbedaan tersebut yang menyebabkan issue di atas. Terkait dengan update versi alpha ke beta, dalam kasus ini tidak semua library yang terbaru akan lebih compatible di semua device. Temuan issue ini juga ditemukan di forum terkait.
CameraX Image take picture slow – Stack Overflow
Kami mengatasi issue ini dengan mendowngrade library CameraX yg sebelumnya beta kembali ke versi alpha. Sepertinya untuk versi alpha yang digunakan lebih bagus dan lebih stabil dibandingkan versi betanya.