Apa arti "zipalign" dan apa artinya?
Ketika ROM mengklaim sebagai "zipaligned", apa artinya itu dan apa bedanya dari ROM yang tidak "zipaligned"?
sumber
Apa arti "zipalign" dan apa artinya?
Ketika ROM mengklaim sebagai "zipaligned", apa artinya itu dan apa bedanya dari ROM yang tidak "zipaligned"?
Mekanisme ini dijelaskan di situs pengembang Android sebagai berikut:
zipalign adalah alat penyelarasan arsip yang menyediakan optimasi penting untuk file aplikasi Android (.apk). Tujuannya adalah untuk memastikan bahwa semua data yang tidak terkompresi dimulai dengan penyelarasan tertentu relatif terhadap awal file. Secara khusus, ini menyebabkan semua data yang tidak terkompresi di dalam .apk, seperti gambar atau file mentah, untuk disejajarkan pada batas 4-byte. Ini memungkinkan semua bagian diakses secara langsung dengan mmap () walaupun mengandung data biner dengan batasan perataan. Manfaatnya adalah pengurangan jumlah RAM yang dikonsumsi saat menjalankan aplikasi.
Singkatnya: .apk
konten dapat lebih mudah / lebih cepat / lebih optimal diakses karena urutan data di dalam file yang dikemas.
Untuk informasi lebih lanjut, ada "panduan lengkap" yang tersedia di AddictiveTips: Apa itu Zipalign di Android dan Cara Membuat Aplikasi Zipaligned , yang menjawab bagian kedua dari pertanyaan Anda:
Dapat dimengerti, situasi akan disediakan untuk paket aplikasi yang tidak selaras. Pembacaan sumber daya akan lambat dan penggunaan memori akan menjadi lebih tinggi dari spektrum. Itu juga akan tergantung pada berapa banyak aplikasi yang tidak selaras hadir. Misalnya, jika lebih sedikit jumlah aplikasi dengan aplikasi rumah yang tidak selaras, Anda akan melihat waktu peluncuran aplikasi yang lebih lambat. Ini adalah skenario kasus terbaik. Untuk skenario terburuk, memiliki sejumlah aplikasi yang tidak selaras akan mengakibatkan sistem berulang kali memulai dan mematikan proses, berjuang dengan kelambatan dan pengurasan baterai yang sangat besar.
struct x { uint16_t id; uint32_t data[100]; };
jika Anda ingin 32-bit sejajar; usestruct x { uint16_t id; uint16_t padding; uint32_t data[100]; };
Untuk menambahkan cara kerja zipalign di atas -
Sumber
sumber