Penjelasan Teknis dari Google Soal Wallpaper yang Bikin Crash Smartphone
Uzone.id - Wallpaper danau yang bikin crash smartphone, yang ternyata diambil oleh fotografer amatir Gaurav Agrawal, ternyata diambil dengan menggunakan kamera Nikon dan diedit pakai software Lightroom. Nah, dari hasil editan inilah muncul bug yang membuat crash smartphone tertentu yang berbasis Android 10.
Kasus pertama terjadi pada smartphone Samsung sehingga banyak orang yang mengira jika wallpaper ini bermasalah di smartphone merek tersebut saja. Namun ternyata belakangan pengguna Google Pixel juga mengalaminya, serta beberapa merek lainnya yang memiliki sistem operasi Android versi 10.Seorang pengembang bernama David Bianco, melalui laman XDADevelopers.com sempat menyebut bahwa bug tersebut aktif karena sistem Android tidak bisa menangani ruang warna (cara sistem menemparkan warna ke gambar) pada wallpaper, dan akhirnya membuat ponsel melakukan proses loop tanpa batas.
Baca juga: Gaurav Agrawal, Pemilik Wallpaper Terkutuk yang Bikin Rusak Smartphone
"Isu utamanya di sini adalah SystemUI hanya bisa menangani gambar sRGB untuk wallpaper dan tidak bisa memeriksa wallpaper non-sRGB. Inilah yang membuat terjadinya crash pada bagian ImageProcessHelper," kata David.
Nah, baru-baru ini laman tersebut kembali membuat pembaharuan informasi terkait isu wallpaper ini. Mereka mendapatkan penjelasan resmi dari Google yang mengatakan jika wallpaper itu di encoding dalam sebuah ruang warna khusus.
"Wallpaper itu di encoding dalam sebuah ruang warna khusus yang disebut Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126. Ini merupakan nama penuh dari sebuah ruang warna dan Skia merujuk pada pustaka grafis dua dimensi buatan Google. Sebaliknya, kebanyakan gambar wallpaper di encoding dalam ruang warna bernama sRGB," ujar pihak Google, dikutip dari XDA Developers, Kamis, 11 Juni 2020.
Intinya, dalam Android versi 10 dan sebelumnya, semua gambar dikonversi ke sRGB, kecuali jika ada hal khusus dari pihak pengembang. Ada bug langka yang dapat terjadi saat mengonversi gambar ke sRGB, di mana kode yang menghitung nilai 'luminance' dari setiap piksel berhasil melampaui batas maksimum 255.
Luminance dikalkulasi menggunakan formula Luminance = .2126f * r + .7152f * g + .0722f * b
Di sini, 'r', 'g' dan 'b' adalah nilai red (merah), green (hijau) dan blue (biru) yang diwakili dalam sebuah nilai 8 bit dari 0 ke 255.
Baca juga: Soal Wallpaper yang Bikin Rusak Smartphone Samsung, Pengamat Temukan Sebabnya
Masalah dari kalkulasi ini adalah, setiap bagian selalu dibulatkan sebelum penjumlahan akhir. Salah satu piksel dalam wallpaper ini, ketika proses konversi gambar dari sRGB ke skala abu-abu, memiliki nilai RGB 255, 255 dan 243. Yang jika di masukkan ke dalam perhitungan sama dengan
r: .2126 * 255 = 54.213 => 55
g: .7152 * 255 = 182.376 => 183
b: .0722 * 255 = 18.411 => 19
Luminance = r+ g + b = 257
Nilai inilah yang menyebabkan SystemUI, dan seluruh OS, crash karena melebih nilai maksimum. Ini adalah bug yang sangat luar biasa spesifik karena melibatkan kombinasi kesalahan pembulatan dan kesalahan konversi ruang warna.
Bug ini tidak memengaruhi Android 11 karena ruang warna pada gambar 'Skia' tidak dikonversi ke sRGB secara default. Dengan demikian, kesalahan konversi ruang warna ini dan kesalahan pembulatan tidak terjadi pada Android 11.
Saat ini Google mengaku sedang melakukan uji coba lain terkait isu tersebut.
Tonton video: