Android運行在4字節的內存邊界。我試圖查看一些文檔,但找不到任何東西。問題是知道這很重要新的android - 你能解釋什麼是4字節的內存邊界
1
A
回答
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。
相關問題
- 1. 爲什麼雙對齊到8字節邊界,而不是4個字節
- 2. 你能解釋什麼是符號和調試的C++世界中的符號?
- 3. 爲什麼字節尋址內存而不是4字節尋址內存?
- 4. 什麼是json,你能解釋給新手嗎?
- 5. 你能解釋一下app引擎的上下文界面是什麼嗎?
- 6. Android - 你能解釋爲什麼你可以刪除代碼嗎?
- 7. 在16字節和32字節的邊界上對齊內存
- 8. 什麼是在Android中釋放內存的各種功能?
- 9. 「......的字節分配內存不足」是什麼意思? (Android)
- 10. 你能解釋爲什麼suport v4和v7上android
- 11. Android 9修補工具:什麼是新的佈局邊界功能?
- 12. perl中字邊界的功能是什麼
- 13. 爲什麼對齊邊界大於4?
- 14. AppleScript - 什麼是邊界?
- 15. 什麼是消息邊界?
- 16. 你能解釋的時候,爲什麼MapReduce的在蜂巢
- 17. 什麼對準到16字節邊界中的x86
- 18. 在C中重新解釋內存的正確方法是什麼?
- 19. 緩慢的MongoDB查詢:你能解釋爲什麼嗎?
- 20. 解釋Android內存信息
- 21. 解釋存儲過程中的字節[]
- 22. 爲什麼mandelbrot的邊界是2?
- 23. 解釋導出界面的含義是什麼?
- 24. 填充文件到4個字節的邊界
- 25. 大小字節邊界
- 26. 對齊地址從一個8字節的邊界4個字節
- 27. 什麼是QueryDSL中的根路徑?你能用一個例子來解釋嗎?
- 28. 你能解釋一下NHibernate的「代理」基本上是什麼意思?
- 29. AVCaptureVideoPreviewLayer內容的邊界/大小是什麼?
- 30. 有什麼區別?你能解釋一下這個語法嗎?
更重要的是,**爲什麼**很重要? – Simon