PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : زیپ الاین، بهینه سازی ساده برای فایل های Apk



M_J_Nazari
31-01-2012, 02:44
در سیستم عامل اندروید، فایل های اطلاعاتی در خود نرم افزار های Apk ذخیره میشوند، که این اطلاعات طی مراحل خاصی نیاز به دسترسی هست.

هنگامی که میخواهیم یک نرم افزار را نصب کنیم،اینستالر فایل AndroidManifest.xml را بررسی و توانایی اجرای نرم افزار را در اندروید مورد مطالعه قرار میدهد.

در مورد نرم افزارهایی که نصب شده اند، لانچر ،فایل resources.arsc هر نرم افزار را برای دریافت اطلاعات مربوط به آیکان و نام نرم افزار را مورد مطالعه قرار میدهد.

پردازش System Server ، فایل های resources را برای دلایل مختلفی مورد بررسی قرار میدهد، مثلا برای دریافت Notification ها...
در حالت کلی میدانیم که فایل های سورس نرم افزار درون خود نرم افزار موجود هستند و استفاده میشوند.

فایل ها در اندروید به صورت ساختار 4 بایتی در حافظه خوانده میشوند، در مورد نرم افزار هایی که زیپ الاین نشده اند، این ساختار متفاوت هست، و سیستم عامل مجبور است فایل apk رو به حالت 4 بایتی تبدیل کند و این روند برای هر پروسه که نیاز به آن فایل ها باشد تکرار خواهد شد، که این حالت باعث کندی در روند سیستم عامل و همچنین باعث اشغال شدن فضای بیشتری در مموری خواهد شد.

این روند برای اجرا شدن هر نرم افزار بسیار مهم میباشد ، بصورتی که اگر نرم افزار زیپ الاین نشده باشد، مقداری لگ در نرم افزار پدیدار خواهد شد و روانی سیستم دچار مشکل خواهد شد. کلا در نرم افزار هایی که زیپ الاین نیستند، روند کار به کندی پیش خواهد رفت و باعث سنگین به نظر آمدن نرم افزار می شود.

در نرم افزارهای زیپ الاین نشده، سیستم مجبور است که فشار بیشتری به Ram بیاورد و طبیعتا مصرف گوشی نیز بالاتر خواهد رفت!!


در پست دوم نحوه ی چگونگی زیپ الاین کردن یک نرم افزار توضیح داده شده است.


تمامی مطالب نوشته شده طبق تجربه ی شخصی بوده و به هیچ وجه انتشار آن در سایت های دیگر مجاز نمیباشد.
Mobilestan Android Developers

M_J_Nazari
31-01-2012, 02:46
برای اینکار نیاز به فایل zipalign.exe داریم. (ضمیمه شده است..)


فرمان هایی که برای زیپ الاین کاربرد دارند دو حالت هست!



zipalign -c -v 4 application.apk
این فرمان ، فایل application.apk را مورد بررسی قرار میدهد ، که آیا این فایل زیپ الاین هست یا نه؟

------------------------------------------------------------------------



zipalign -v 4 source.apk destination.apk
این فرمان فایل source.apk را زیپ الاین کرده و با نام جدید destination.apk میسازد.

------------------------------------------------------

بر میگردیم به آموزش

فایل zipalign.7z را دانلود و از حالت فشرده خارج نمایید تا به فایل zipalign.exe برسید.

فایل zipalign.exe را درون یک فولدر خالی بریزید. (مثلا فولدر test)

فایل apk را که میخواهید zipalign کنید، کنار zipalign.exe کپی بزنید. (در فولدر test) در اینجا فایل مورد نظر ما a.apk میباشد.

cmd را باز کنید، و به آدرس فولدر test بروید، (به این منظور دکمه ی Shift را نگه داشته و بر روی فولدر test راست کلیک کنید و گزینه ی Open command window here را انتخاب کنید!)


فرمان زیر را در cmd تایپ کرده و با ابن فرمان فایل a.apk ما به فایل za_a.apk زیپ الاین خواهد شد.


zipalign -v 4 a.apk az_a.apk
تمام، شما فایل a.apk را زیپ الاین نموده اید، هم اکنون فایل za_a.apk را به فایل اصلی تغییر نام دهید و جایگزین کنید.



منبع :developer.android.com

لینک دانلود Zipalign (http://forum.mobilestan.net/attachment.php?attachmentid=668154&d=1324378047)

_ANONYMOUS_
10-05-2013, 19:44
سلام

با تشکر از استارتر تاپیک ، میتونید از ابزار زیر هم استفاده کنید برای زیپ الاین با این تفاوت که داخل گوشی عملیات رو روی هر رامی که دوست دارید انجام میدید

http://forum.xda-developers.com/showthread.php?t=2240493