- - ما هو Zipalign في Android وكيفية جعل التطبيقات Zipaligned [الدليل الكامل]

ما هو Zipalign في Android وكيفية جعل التطبيقات Zipaligned [الدليل الكامل]

إذا كنت من المعجبين المتشددين في Android ، فهناك فرصقوي بأنك ستحاول بفارغ الصبر إيجاد سمات جديدة وذاكرة قراءة فقط مخصصة وجميع هذه التعديلات لجهازك. واحدة من نقاط الارتباك الرئيسية هي المصطلحات المرتبطة بهذه التعديلات - شيء مألوف جدا للمطورين ، ولكن ليس كثيرا للمستخدم المبتدئ. اثنين من أكثر الكلمات شيوعًا في ROM مخصص والسمات هما "deodexed" و "zipalign". قبل بضعة أيام ، غطينا "deodexed" بالتفصيل. في هذه المقالة ، سوف نستكشف ماذا يعني zipalign و كيف يمكن أن يكون APKs مضغوط.

ما هو ZIPALIGN؟

zipalign هو أداة محاذاة الأرشيف المقدمةالمرة الأولى مع 1.6 Android SDK (مجموعة تطوير البرمجيات). تعمل على تحسين الطريقة التي يتم بها حزم حزمة تطبيق Android (APK). يؤدي القيام بذلك إلى تمكين نظام التشغيل Android من التفاعل مع التطبيق بشكل أكثر كفاءة ، وبالتالي لديه القدرة على جعل التطبيق والنظام ككل أسرع بكثير. يتم تقليل وقت التنفيذ للتطبيقات المضغوطة ، مما يؤدي إلى تقليل استهلاك ذاكرة الوصول العشوائي (RAM) عند تشغيل ملف APK.

كيف يعمل بالضبط؟

في بيئة تشغيل Android ، ملفات البياناتيتم الوصول إلى المخزنة في كل حزمة تطبيق من خلال عمليات متعددة ، على سبيل المثال ، سيقر المثبت بيان البيانات لتحديد الأذونات المرتبطة ؛ يستطيع خادم النظام قراءة هذه الموارد لأسباب متعددة ، مثل عرض الإشعارات ؛ على سبيل المثال ، سيقوم التطبيق Home بقراءة الموارد للحصول على اسم التطبيق ورمزه. نظرًا لأن Android مبني على بنية تحتية تشغيل متعددة المهام حقيقية ، يتم الوصول إلى هذه الملفات باستمرار وبشكل متكرر. أخيرًا وليس آخرًا ، يقرأ التطبيق نفسه بيانات البيان.

نظرًا لأن Android يعتمد على Linux ، فإن تعيين الذاكرة يلعب دورًادور رئيسي في التعامل الفعال مع العمليات. بشكل أساسي ، تكون المحاذاة المثلى لرمز معالجة الموارد لنظام التشغيل Android هي حدود 4 بايت. يعني هذا أنه إذا تم تعيين ملفات APK على حدود 4 بايت ومحاذاة وفقًا لذلك ، فلن يحتاج نظام التشغيل إلى "قراءة" حزمة التطبيق بأكملها للوصول إلى بيان البيانات المطلوب. ستعرف كل عملية نظام مقدمًا مكان البحث عن الموارد المطلوبة ، وبالتالي سيتم تنفيذها بشكل أكثر سلاسة وأسرع.

تلخيصها ، يؤدي تطبيق zipaligning إلى الحصول على APKيتم محاذاة البيانات غير المضغوطة داخل الحزمة على حدود 4 بايت ، مما يسمح بالوصول إلى جميع الأجزاء مباشرة مع خريطة الذاكرة. يتم تقليل استهلاك ذاكرة الوصول العشوائي أثناء التنفيذ لأن رمز الاستعلام ليس من الضروري قراءة حزمة التطبيق بالكامل.

مساوئ APK غير محمي

من المفهوم تماما ، سيتم حجز الوضعلحزم التطبيق غير محاذاة. ستكون قراءة المورد بطيئة واستخدام الذاكرة سيكون في الطرف الأعلى من الطيف. يعتمد ذلك أيضًا على عدد التطبيقات غير المحاذية الموجودة. على سبيل المثال ، إذا كان هناك عدد أقل من التطبيقات ذات التطبيق المنزلي غير المحايد ، فسترى أوقات تشغيل التطبيق أبطأ. هذا هو أفضل سيناريو. بالنسبة لأسوأ سيناريو ، سيؤدي وجود عدد من التطبيقات غير المحاذية إلى بدء عمليات التشغيل وقتلها مرارًا وتكرارًا ، معاناة التأخر واستنزاف البطارية الضخم.

كيف يمكنك أن تفعل ذلك ، ثم؟

كما ذكرنا سابقًا ، أصبحت أداة zipalign جزءًا من Android SDK من 1.6 وما بعده. يمكن العثور عليها ضمن مجلد "الأدوات" من SDK. لاستخدامه ، قم ببساطة بتشغيل الأمر:

zipalign [-f] [-v] <alignment> infile.apk outfile.apk

أين infile.apk هو الملف المصدر ، و outfile.apk هو ملف الإخراج.

علاوة على ذلك ، يمكنك أيضًا التحقق من محاذاة ملف APK باستخدام الأمر التالي:

zipalign -c -v <alignment> existing.apk

أين existing.apk يمكن أن يكون أي حزمة تطبيق تحتاج إلى التحقق منها. أيضا ، و <محاذاة> يجب أن تكون العلامة في كلا الأمرين جزءًا لا يتجزأقيمة (وإلا فإن الأمر سيعود غير صالح). هذه القيمة ، على الرغم من أنها يمكن أن تكون أي عدد صحيح ، إلا أنها يجب أن تكون دائمًا 4 ، والتي ستوفر محاذاة 32 بت. أي قيمة أخرى ، وسوف تفعل شيئا بفعالية.

أخيرًا ، بالنسبة إلى العلامات المستخدمة في هذه الأوامر ،

  • -F : الكتابة فوق outfile.zip الموجودة
  • -الخامس : سوف تعطي الإخراج مطول
  • -c : سيؤكد محاذاة ملف معين

كلمة تحذير: يجب أن يتم تنفيذ عملية zipalign فقط بعد لقد وقعت ملف APK الخاص بكمفتاح. إذا كان zipaligned قبل التوقيع ، فإن إجراء التوقيع سوف يزعج المحاذاة. ينطبق نفس الشيء على أي تغيير أو إضافة أو إزالة لملف APK. أي تغيير بعد تشغيل zipalign سيؤدي إلى التراجع عن المحاذاة.

تنصل: هذا الدليل مخصص للأغراض التعليمية فقط. لا يعد هذا بأي حال من الأحوال بديلاً لمجموعة أدوات مطور برامج Android ، ولا يُقصد استخدامه لأغراض التطوير. لا تقدم AddictiveTips أي دعم يتعلق بالمواد المعروضة هنا.

تعليقات