-->

Penjelasan sederhana gambar ini mengakibatkan android error terutama Samsung bila dijadikan wallpaper?

kamulupa


Aku akan menyederhanakan ini sejauh yang aku bisa, namun ini mungkin akan rumit dijelaskan karena ini akan membahas soal pemrograman Android dan color-space. Jadi pegangan, dan siapkan obat sakit kepala.

Oke, bersiap, mulai.

Lampu LED yang ada di ponselmu memiliki tiga warna dasar: Merah, hijau, dan biru. Dan kekuatan warnanya diatur oleh nilai 0–255.

Jadi jika ada nilai 255, 0, 0; maka keluar warna merah,

Dan 152, 255, 152 akan menghasilkan mint green.

Tapi apa yang terjadi kalau ada nominal di atas yang lebih dari 255?

Ini disebut dengan integer overflow. Karena maksimum yang bisa diterima adalah 255, ketika kamu memberinya nilai 256, dia akan kembali ke nilai 0, seperti odometer yang akan kembali ke berputar ke 0 ketika jarak tempuh sudah melebihi kemampuan pencatatannya.

kamulupa

(Ini bukan gambar aslinya. Gambar ini sudah terkompresi, sehingga nilainya sudah berubah dan tidak membuat galat. Namun untuk keamanan ponsel Anda sendiri, jangan memasang ini sebagai wallpaper).

Pemandangan yang indah, aku menyukai cahaya yang berhasil ia tangkap pada awan di atas pegunungan itu. Namun pada gambar aslinya, ada sebuah kendala: Di salah satu pixelnya ada nilai yang melebihi 255.

Dan pada SystemUI, aplikasi sistem yang bekerja untuk mengurus user interface seperti lock screen, notification bar, navigation bar, dsb; kaget ketika melihat ada nilai 256 ketika maksimumnya hanya 255. Dia memberikan peringatan bernama Array Index Out Of Bounds. Dan karena itu dia memulai ulang dirinya sendiri saking kebingungannya, berharap itu hanya gangguan sederhana saja. Namun karena setiap boot wallpaper akan dimuat kembali, SystemUI kaget, "Loh kok ini kampret masih ada?" dan dia kembali memuat ulang lagi, lagi, dan lagi.

Hasilnya? Bootloop.

LihatTutupKomentar