#LessonLearned : JIT (just-in-time) in Android

Setelah beberapa bulan ini ga pernah buka-buka Eclipse buat koding Android lagi (karena harus ngerjain proyek web pake PHP Laravel), akhirnya malem ini gw putuskan untuk sedikit bernostalgia dengan Android. So excited.

Tp kali ini gw ga banyak koding sih, cuma pengen baca-baca tentang Unit Test di Android dan sedikit performance tips. Nah, kebetulan pas lagi baca kitab sucinya Android (developer.android.com) bagian performance tips nemu istilah JIT. So apa itu JIT? Akan sedikit dibahas disini berdasarkan hasil googling-googling.

JIT atau just-in-time sebenarnya bukan istilah yang hanya digunakan dalam dunia programming. Istilah JIT juga biasa digunakan dalam bisnis, terutama dalam logistik. Ketika akan melakukan produksi, ada sejumlah bahan baku yang kita butuhkan. Kadang kali kita menyimpan banyak bahan baku sebagai persiapan untuk long-term production. Nah konsep tersebut cenderung tidak hemat biaya. Sedangkan JIT, adalah kebalikan dari konsep tersebut. Bahan baku yang ada hanyalah apa yang kita butuhkan untuk produksi saat itu, just-in-time. Jadi tujuan utama JIT ini adalah untuk meningkatkan efisiensi produksi.

JIT in Computing

Ketika kita menulis bait-bait kodingan, baik itu dengan bahasa C, C#, Java, Objective C, Pascal, dll, sebenernya tidak ada satu pun yang akan berjalan di komputer, smartphone, atau tablet. Kenapa? Because they need to be “compiled” to run.

compiling

Compiling

Terkadang untuk melakukan compiling kita membutuhkan waktu. Tapi dalam modern programming languange, waktu yang digunakan untuk compile semakin singkat.

Lalu bagaimana dengan Android? Oke, pada dasarnya Android mengimplementasikan konsep JIT seperti ini : setiap apps yang terinstall dalam Android berada dalam posisi uncompile, artinya untuk menjalankan apps tersebut, Android akan melakukan kompilasi. Wondering why setiap kita buka app it takes time sehingga akhirnya app tampil dan kita bisa berinteraksi? Nah! pada saat itu Android melakukan kompilasi terhadap aplikasi yang kita buka, menyimpannya di RAM, baru dieksekusi.

Kebayang kalau semua aplikasi yang terinstall di Android berada dalam posisi precompile, semakin banyak app yang terinstall maka semakin sempit RAM kita.  Begitulah kurang lebih, lets discuss!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: