تفاوت نسخههای arm64-v8a و armeabi-v7a و x86 در اندروید
بعضی اپلیکیشنها به صورت Universal
منتشر میشن یعنی روی همهی پردازندهها اجرا میشن، اما خیلی وقتها برای معماریهای مختلف CPU بهطور جداگانه بیلد میشن. مثل:
arm64-v8a – arm64 – aarch64
← پردازندههای ARM جدیدتر ۶۴بیتیarmeabi-v7a – arm – aarch
← پردازندههای ARM قدیمیتر ۳۲بیتیx86
← مخصوص دستگاههای اینتل ۳۲بیتی (در حال انقراض)x86_64
← مخصوص دستگاههای اینتل ۶۴بیتی (خیلی 🦖)
تفاوت اصلی این نسخهها
armeabi-v7a 32bit
- فقط روی CPUهای ۳۲بیتی کار میکنه
- مصرف رم محدود حدود 3 الی 4GB
- سرعت کمتر نسبت به نسخه ۶۴بیت.
arm64-v8a 64bit
- نسخه کاملتر و سریعتر
- هم اپهای ۶۴بیت و هم ۳۲بیت رو اجرا میکنه.
- دسترسی به رم بیشتر از 4GB و عملکرد بهینهتری داره.
- گوشیهای تولید ۵ سال اخیر اکثراً از همین معماری هستن.
x86 و x86_64
- مخصوص پردازندههای اینتل
- همدورهی 🦖 های تیرِکس بودن اون گوشی و تبلتها،
- شکر خدا منقرض شدن.
نصب متقابل
گوشی arm64-v8a ۶۴بیتی
- میتونه هم نسخهی arm64-v8a رو نصب کنه بهینهتره
- و هم میتونه نسخهی armeabi-v7a رو بدون مشکل نصب کنه، فقط کمی کندتر.
گوشی armeabi-v7a ۳۲بیتی
- به هیچوجه نمیتونه اپ arm64-v8a رو نصب کنه.
- به هیچوجه نمیتونه از نسخههای x86 نصب کنه.
نسخه universal
- همهی کتابخونههای ذکر شده رو داره، ولی فقط موقع دانلود کردنش دوبرابر بیشتر اینترنت مصرف میکنی و دوبرابر فضای بیشتری از حافظه دستگاه رو اشغال میکنه.
پیشنهاد
وقتی معماری پردازنده گوشیت arm64-v8a یا armeabi-v7a هستش مگه مرض داری میای universal که دوبرابر سنگین تره نصب میکنی؟ داخلش همه کتابخونههارو جا دادن حتی x86 هارو که حتی یک هزارم درصد هم بهشون نیاز نداری، پس یکبار چک کن ببین معماری پردازنده گوشیت چیه و از اون به بعد همون نسخه سبک و کامل رو نصب کن.
کیفیت اجرا
- اگه گوشیت ۶۴بیتی باشه و نسخهی ۳۲بیتی نصب کنی:
- اپ اجرا میشه ✔️
- ولی کمی سرعت کمتره، 10 الی 30 درصد توی کارای سنگین مثل بازی یا پردازشها.
- مصرف رم محدود میشه به ماکسیمم 4GB.
- امنیت هم پایینتر از نسخهی ۶۴بیت هست.
چطوری نوع معماری پردازنده دستگاه رو بفهمیم؟
1. از داخل تلگرام
برو تلگرام، صفحه تنظیمات یا همون Settings
رو باز کن، ← مستقیم برو انتهای صفحه ← اونجا نوع معماری نوشته شده، اخل این اسکرین شات علامت زدم:
2. اپلیکیشن کمکی
توی تب SYSTEM
دنبال فیلد Kernel Architecture
بگرد
3. با Termux
دستور زیر رو توی ترموکس اجرا کنی نوع معماری پردازنده دستگاهت رو بهت میگه:
getprop ro.product.cpu.abi
یا برای مشاهده جزئیات بیشتر این دستور رو اجرا کن:
getprop | grep abi
جدول سازگاری
معماری پردازنده | گوشی قابل نصب 🟢 | غیرقابل نصب 🔴 |
---|---|---|
armeabi-v7a (32bit) | armeabi-v7a 🟢 | arm64-v8a 🔴 x86 🔴 x86_64 🔴 |
arm64-v8a (64bit) | arm64-v8a 🟢 armeabi-v7a 🟢 | x86 🔴 x86_64 🔴 |
x86 (32bit Intel) | x86 🟢 | بقیه 🔴 |
x86_64 (64bit Intel) | x86_64 🟢 x86 🟢 | بقیه 🔴 |
نتیجهگیری
گوشیهای قدیمی ۳۲بیتی ← فقط نسخه armeabi-v7a
گوشیهای جدید ۶۴بیتی ← ترجیحاً arm64-v8a، در صورت نبود نسخه، armeabi-v7a هم مشکلی نداره.
نسخه universal ← مناسب پیرمردها، فقط حجم اینترنت بیخودی پای دانلود کردنش حروم میشه و کلی فضا از حافظهی دستکاه اشغال میشه.
کنجکاو باشید 🩶✋🏿