Jumat, 29 Juni 2012

Trik Mengatur Parameter Kernel Android untuk Memperpanjang Umur Baterai Android


Disini saya mau menjelaskan sedikit yang saya tahu tentang sysctl. Sysctl Config adalah aplikasi utilitas yang biasanya terdapat di ROM2 custom terbaru atau anda bisa mendapatkannya secara gratis di android market. Apa gunanya? Gunanya adalah untuk tweaking file Sysctl.conf dengan cara yang lebih human being.Apa saja yang dibutuhkan? Tentu saya Handheld Android (pastinya) yang sudah Root dan sudah terinstall Busybox. Root nggak perlu dijelasin kan? Busybox installer (nama aplikasinya busybox) silahkan cari di market, setelah diinstall, uninstall aja busybox installernya, toh busyboxnya udah keinstall di system daripada menuh2in space.Nah sekarang lanjut ke pembahasan.
Sebelum lanjut, saya akan jelaskan bahwa tweak ini tidak akan mempengaruhi hasil benchmark seperti quadrant, benchmark lebih ke arah hardware dan tidak dipengaruhi oleh tweak ini. Apa sih sysctl.conf ini? Karena Android berbasis linux, sama seperti di linux, di android juga terdapat file bernama sysctl.conf yang berisi parameter kernel. Dengan aplikasi Sysctl Config di android, kita bisa memodifikasi file sysctl.conf di handheld kita untuk meningkatkan performa dan memperpanjang umur batere. Maksudnya, disini membuat batere tidak cepat habis/boros. Sebagai contoh, sebelum saya memodifikasi dengan Sysctl, Galaxy Mini saya dengan pemakaian standar saya, jam 6 pagi saya cabut dari charger, jam 6 sore saya sampai rumah batere tersisa 20%. Setelah saya modifikasi, jam 6 sore saya sampai rumah batere masih tersisa 50-60% .
Nah, kelemahannya (bukan kelemahan akibat modifikasi ini) adalah, poin2 yang bisa diedit dengan Sysctl ini hanya sedikit. Padahal masih banyak parameter lainnya, tapi its ok, menurut saya (sekarang) ini sudah cukup untuk meningkatkan performa device dan ketahanan batere. Nah sekarang kita bahas per poin parameter.
  1. Min Free KBytes (vm.min_free_kbytes), ini digunakan untuk membuat Virtual Memory (VM) Linux mempertahankan nilai minimum kilobytes. VM menggunakannya untuk menghitung nilai pages_min untuk setiap zona low memory dalam sistem. Setiap zona low memory dalam sistem mempunyai nilai free pages cadangan yang sesuai dengan ukurannya sendiri-sendiri. Nilai default poin ini adalah 2048 (bisa berbeda tergantung devicenya).
  2. Dirty Ratio (vm.dirty_ratio) dan Dirty Background Ratio (vm.dirty_background_ratio) berfungsi mengontrol seberapa sering kernel menulis data ke disk (disk dalam hal ini adalah internal sd card di sistem/handheld, bukan external sd card). Ketika aplikasi-aplikasi menulis data ke disk, Linux sebenarnya tidak menulis data langsung ke disk, tetapi linux menulisnya ke system memory dan kernel menangani kapan dan bagaimana data tersebut dimasukkan ke disk. Nilai dalam sysctl mempresentasikan prosentase, lebih tinggi prosentase yang sampeyan masukkan, lebih lama menunggu data di masukkan ke disk, sebaliknya, semakin rendah nilai prosentase yang sampeyan masukkan, data lebih sering dimasukkan ke disk. Sekarang kita ingat2 lagi, kita berhadapan dengan internal disk yaitu solid state disk, bukan disk dengan sistem piringan seperti harddisk di komputer, jadi kita bisa menahan sistem memasukkan data ke disk lebih lama daripada di disk dengan sistem piringan.
  3. VFS Cache Pressure (vm.vfs_cache_pressure), nah . yang ini menarik, cache file sistem (dentry/inode) lebih penting daripada block cache dalam dirty ratio dan dirty background ratio, jadi kita menginginkan kernel untuk menggunakan lebih banyak RAM untuk cache file sistem. Ini akan meningkatkan performa sistem tanpa mengorbankan performa pada level aplikasi. Nilai defaultnya adalah 100 (dalam prosentase), yang harus dilakukan adalah merubah prosentasenya lebih rendah untuk memberitahukan kernel agar mendukung cache file sistem dan tidak men-drop-nya secara tiba-tiba.
  4. Oom Allocating Task (vm.oom_kill_allocating_task) di Sysctl diberikan opsi centang maksudnya diaktifkan atau tidak atau merepresentasikan nilai 1″ / 0″ atau On/Off. Fitur ini digunakan untuk mengaktifkan atau tidak trigger untuk killing task pada situasi OOM (Out Of Memory). Kalau ini tidak dicentang/diaktifkan, OOM Killer akan memindai seluruh daftar task dan memilih task yang akan di kill berdasarkan heuristik (silahkan googling artinya hehe). Biasanya OOM akan memilih task yang memakan banyak memori (rogue memory hogging) dimana bila di kill akan melegakan memory dalam jumlah besar. Bila poin ini di aktifkan/dicentang, maka OOM Killer akan meng-kill aplikasi yang memicu kondisi OOM. Ini meminimalisir pemindaian task dimana bisa mengakibatkan sistem hang atau freeze.
Lalu berapa nilai2 yang harus Teknokerz masukka pada Sysctl Config? Tergantung hardware dan kenyamanan masing2. Intinya silahkan coba nilai satu persatu. Intinya dengan mengaktifan Sysctl, biarkan Teknokerz mencoba konfigurasi default selama 1-2 hari, bila dirasa kurang, silahkan dirubah-rubah nilainya. Ini adalah parameter kernel yang saya gunakan.
  • Min Free KBytes: 4096
  • Dirty Ratio: 90
  • Dirty Background Ratio: 70
  • VFS Cache Pressure: 1
  • Oom Allocating Task: Aktif, atau nilainya 1 (0=tidak aktif)
Hasilnya seperti yang saya jelaskan diatas tadi. Selamat Mencoba 

FORMASI (Forum Mahasiswa & Alumni LEPISI): Dasar FORMASI... Forum Mhs & Alumni Lepisi

FORMASI (Forum Mahasiswa & Alumni LEPISI): Dasar FORMASI... Forum Mhs & Alumni Lepisi: FORMASI dibentuk dgn harapan dpt mewujudkan makna/pengertian dari kata 'forum' itu sendiri yaitu 'for open discussion' .... tempat /wadah p...

kamus .xml

requirement:
file framework-res.apk dan/atau systemUI.apk yg sudah di decompile

how-to:
buka file .xml yg pengen diedit pake notepad/wordpad/adobe dreamweaver/dll. cari string atau bagian yg pengen ente edit (biasanya pake shortcut Ctrl+F), lalu replace bagian tersebut sesuai keinginan. Do With Your Own Risk!

FRAMEWORK-RES.APK :
  1. cara edit tulisan "swipe screen to unlock/usap kunci untuk membuka layar/draw pattern to unlock/dsb." : "res\values\string.xml" atau "res\values-in\string.xml" untuk yg pake bahasa indonesia.


systemUI.apk:
  1. bikin jam statusbar ada di tengah: http://www.kas-kus.us/showpost.php?p=605622654
  2. tukar pasangan jam dan tanggal. liat /res/layout/. buka status_bar.xml dan status_bar_expanded.xml. liat code [com.android.systemui.statusbar.Clock] di status_bar_expanded.xml dan [com.android.systemui.statusbar.IconMerger] di status_bar.xml. dan silahkan ditukar tempatnya. untuk jam yang sudah pindah status_bar_expanded.xml, atur besar hurufnya, masih dalam satu baris, di code [android:textSize="17.0dip"] , recomended aku 40.0dip s/d 50.0dip. jangan 80.0dip, tar jadi segede gaban.
  3. buat tulisan ongoing dan notification ditengah. liat /res/layout/. buka status_bar_expanded.xml. ada 3 baris code, yang mengandung code [android:id="@id/noNotificationsTitle"], [android:id="@id/ongoingTitle"] dan [android:id="@id/latestTitle"] ada code yang sama di ketiga baris tersebut, yaitu code [android:paddingLeft="5.0dip"]. maka tambahkan code ini dibelakangnya, [android:paddingRight="5.0dip" android:gravity="center"] jangan lupa kasi spasi antar code. tambahkan code tersebut di tiga baris itu.
  4. background di notikasi yang kita geret2 itu (bingung nyebutnya). liat /res/layout/. buka status_bar_tracking.xml liat baris ke4 ada code [View android:background="#ff8e979f"] dua kode dari depan itu transparantnya (ff) dan 6 angka berikutnya kode RRGGBB (8e979f). atur nilai ff, misal 50 untuk setengah transparant atau 00 untuk full, warna tinggal ubah 6 kode dibelakangnya. bila ingin gambar yang jadi backgroundnya, ubah code [View android:background="#ff8e979f"] menjadi [View android:background="@drawable/nama_file_gambar"] lalu buat gambar dengan ukuran 240px x 280px dengan ekstensi .png dan dikasi nama sama dengan kode tadi (dalam hal ini namanya "nama_file_gambar.png" dan taro di dalam /res/drawable-ldpi/*dimari*
  5. transparant statbar (not work di launcher bawaan asli) liat /res/layout/, buka status_bar.xml liat kode baris ke 2. [android:background="#ff000000"] rubah kodenya biar transparant, (liat point num 4.) atau tarik ke gambar png, ubah code jadi [android:background="@drawable/nama_file_gambar"] lalu buat gambar dengan ukuran 19 px x 50 px. buat transparant di sotoshop. simpen dengan nama file "nama_file_gambar.9.png". lalu buka gambar tersebut dengan draw9patch (sdk tool). buat area full di kanan dan bawah, stretch menyesuaikan. simpan. lalu taro di /res/drawable-ldpi/*dimari*





kalo ada tambahan langsung edit aja :D
tambahin sebanyak2nya biar kita bisa sama2 belajar :D



salam,[OOT]


m.irvan

Open Source dan Geliat Ubuntu for Android 

Beberapa waktu yang lalu, Mark Shuttleworth mengumumkan kepada publik akan hadirnya sebuah kolaborasi antara sistem operasi yang ada di desktop dengan yang ada di telepon genggam. Sebuah kolaborasi yang kemudian disebut Ubuntu for Android ini membuat banyak orang kemudian ber-wow ria.

Sebagaimana diketahui Ubuntu adalah sistem operasi untuk desktop baik di rumah, sekolah, lab maupun kantor. Sedangkan Android adalah sistem operasi (yang biasa dijumpai) pada tablet, telepon genggam, jam tangan, hingga board ski.

Nah, Ubuntu for Android adalah sebuah sistem yang menghadirkan Android dan Ubuntu sehingga pengguna dapat menggunakan Ubuntu dari handphone Android hanya melalui monitor.

Namun, tidak hanya itu. Ubuntu for Android ini bukan sekedar mengakses Ubuntu dari Android melainkan menggabungkan keduanya ke dalam satu sistem operasi yang terpadu, seirama dan berjalan secara simultan. Ini adalah kolaborasi dua produk besar dan ternama dari dunia open source yang membuat kita terkagum.

Nyata sekali dan tidak dapat dipungkiri bahwa sifat open source yang ada pada kedua produk inilah yang menjadikan semuanya serba mungkin. Sifat terbuka dari kode sumber ini membuat developer paham akan isi masing-masing produk.

Dengan pahamnya isi produk maka akhirnya mereka mampu menyisipkan beberapa baris kode untuk menjadikan penyatuan ini mungkin. Jika salah satu bukan produk open source, apakah penyatuan ini tidak mungkin dilakukan? Mungkin, tentu saja.

Namun, akan memerlukan waktu yang jauh lebih lama dari yang dapat kita bayangkan. Dan pada akhirnya bisa menjadi tidak mungkin.

Katak Dalam Tempurung

Jangan jadi katak dalam tempurung, begitu bunyi pepatah kuno yang kita pelajari dulu sewaktu kecil. Dari sini kita belajar bahwa menjadi manusia yang cuma begitu-begitu saja itu tidak cukup baik. Harus mau membuka diri dan terbuka sehingga pada akhirnya belajar dan menemui banyak hal.

Ketika kita mulai membuka diri, ada saja sesuatu yang mungkin tidak pernah terpikirkan sebelumnya. Bisa tersenyum kala melihat kelucuan tingkah pengguna jalan, misalnya. Berkenalan hingga akhirnya akrab dengan seorang pujangga, mungkin. Mendapatkan pekerjaan dan kehidupan yang lebih baik. Atau mungkin juga mendapatkan pasangan baru yang akan menjadikan hidup lebih berwarna. Ehm..

Begitu juga halnya dengan membuka kode sumber sebuah produk kepada publik. Dari sebuah produk yang, katakanlah cukup sempurna, bisa saja akhirnya hadir turunan produk dengan fitur lain yang belum pernah dipikirkan.

Mungkin juga akan hadir add-on atau plugin yang menjadikan produk lebih berkualitas. Atau bisa juga akhirnya produk ini menjadi lebih sempurna dan lebih berharga untuk pengguna maupun pembuatnya. Semuanya serba mungkin.

Tanpa disadari, menjadikan sebuah produk sebagai open source juga telah membuat kompetisi menjadi lebih hidup. Kode sumber yang dapat diakses oleh siapa saja dan keterbukaan untuk menjadikannya lebih baik menjadikan semuanya ikut andil dan berlomba untuk menjadikannya lebih baik. Semuanya berlomba untuk berkontribusi.

Ada yang dengan niat mengasah pengetahuan dan kemampuan. Ada yang cuma sekadar mengisi waktu luang. Ada juga yang mungkin berharap namanya akan tercatat dalam sejarah.

Ada banyak bukti yang bisa disebutkan dari produk open source yang menjadi lebih baik, baik produk maupun pengembangnya. Sebut saja Apache, Firefox, OpenOffice, MySQL, GIMP, Audacity, FileZilla, dan masih banyak lagi.

Semuanya berinovasi dan berkembang dengan pesat serta lebih cepat -- bahkan kadang dari yang dibayangkan sebelumnya. Pada akhirnya, banyak produk yang berbondong-bondong menyusul menjadi open source. Ada webOS dari HP, YSlow dari Yahoo!, HijackThis dari Trend Micro dam sensor HAL dari Sony.

Open source pada kenyataannya membuat semua pihak menang dan menjadi lebih baik. Toh, pada hakekatnya kita semua ingin membuat dunia ini menjadi lebih baik.

Mengutip sebuah kalimat dari orang bijak yang saya dengar ketika mengikuti Pramuka waktu sekolah dulu, banyak kepala itu lebih baik dari satu kepala saja.


salam [OOT]


m.irvan



Sumber: http://inet.detik.com/read/2012/02/27/143157/1852518/398/open-source-dan-geliat-ubuntu-for-android