2014-02-07 52 views

回答

1

這只是意味着Android系統爲變量使用32位(4字節)內存對齊方式(例如,int將始終保存在32位內存地址, 36或40,從不在42)。

0

Android設備使用32位處理器,這意味着它們在32位(4字節)對齊的數據上工作最有效。在Android應用程序開發的情況下,重要的是,如果您的應用程序包含未壓縮的數據(例如圖像),那麼android可以使用mmap()調用直接將此數據映射到內存中(這可以節省大量內存,否則系統會擁有使這些數據的副本保持一致)。所以mmap會讓你的apk看起來像內存,但爲了使這個工作正常,你的數據必須在4字節的內存邊界上正確對齊。爲了實現您使用zipalign工具,例如:

$ zipalign -v 4 notaligned_app.apk aligned_app.apk 

此外,簽名後對齊也很重要。如果未使用zipaligned,Google Play應該實際上拒絕您的apk。

相關問題