رفع مشکل عدم وجود حافظه خالی 2048 مگابایتی RAM در اجرای Visual Studio Emulator For Android

علی بهرامی‌نژاد - - زمان تقریبی مطالعه: 2 دقیقه

یکی از Emulatorهای خوب عرضه شده جهت تست و توسعه برنامه‌های اندروید برروی سیستم عامل ویندوز؛ ابزار Visual Sudio Emulator For Android می‌باشد.

از جمله ویژ‌گی‌های این ابزار میتوان به موارد زیر اشاره کرد:

  • کاملاً رایگان
  • هماهنگی کامل با Visual Studio
  • امکان استفاده در Android Studio، Eclipse یا هر ابزار دیگری که از ADB پشتیبانی می‌کند
  • کارایی خوب بدلیل استفاده از Hyper-V ویندوز

Microsoft Visual Emulator For Android - 2048 MB Error

کاربران در استفاده از این ابزار ممکن است با خطای Not enough memory is available in the system to start an emulator that uses 2048 MB of startup RAM مواجه شوند. بصورت کلی دو راه برای رفع این مشکل وجود دارد:

  1. افزایش حافظه RAM
  2. بستن برنامه‌های در حال اجرا جهت کاهش حافظه مصرفی

اما اگر هیچ یک از دو راه بالا امکان پذیر نبود، چه باید کرد؟ در ادامه مطلب به بررسی و رفع این مشکل می‌پردازیم.


رفع خطای Not enough memory


این سوال همیشه برای من پیش آمده است که مثلاً چرا برای اجرای Emulator اندروید Kit Kat 4.4.2 چرا نیاز به 2 گیگابایت از فضای RAM است؟ و چطور می‌توان این مقدار را کاهش دهم؟

برای مثال وضعیت مصرف حافظه RAM لپتاپ من، قبل از اجرای Emulator، به شکل زیر است. از 8 گیگابایت حافظه RAM تنها 2 گیگابایت قابل استفاده است. در صورت اجرای Emulator با خطای Not enough memory مواجه خواهم شد. RAM Usage before running Emulator

هر پروفایل در Visual Studio Emulator For Android یک فایل تنظیمات دارد که بواسطه آن می‌توان میزان حافظه RAM مورد نیاز در زمان اجرای اولیه Emulator تعیین کرد. این فایل‌ها در مسیر زیر قرار می‌گیرند:

C:\Users\[UserName]\AppData\Local\Microsoft\VisualStudioEmulator\Android\Containers\Local\Devices

به جای [UserName] نام کاربری خود را بنویسید.

در صورتی که مسیر فوق را بررسی کنیم؛ فایل‌هایی با پسوند cfg خواهیم یافت که مربوط به تنظیمات پروفایل‌ها می‌باشند.

CFG Files

برای مثال محتوای فایل 5_KitKat_(4.4)_XXHDPI_Phone.cfg به شکل زیر است.

configuration[id]=363F7AED-462C-46BD-9FEC-F1DD3B79916C
configuration.type=device
configuration.version=1.0.51209.1
device.description=Similar to Samsung Galaxy S5, Sony Xperia Z
device.platform=6FAA28E5-6520-4516-B1A5-C7B72CAE3E31
device.screen.diagonal=5
device.screen.resolution=1080x1920
device.vm.cpu.architecture=x86
device.vm.cpu.count=4
device.vm.heap.size=192
device.vm.ram.size=2048
device.vm.vhd=vhd\\5_KitKat_(4.4)_XXHDPI_Phone\\image.vhd
device.name=5" KitKat (4.4) XXHDPI Phone

در قسمت device.ram.size میزان حافظه RAM برروی 2048 مگابایت تنظیم شده است. با کاهش این عدد می‌توان مشکل Not enough memory را مرتفع ساخت.

برای مثال؛ اگر حافظه 800 مگابایت را برای اجرای Emulator در نظر بگیریم؛ تنظیم مربوط به حافظه باید به شکل زیر تغییر یابد:

device.vm.ram.size=800
  1. دقت کنید عدد وارد شده حتماً باید مضربی از 8 باشد.
  2. پس از اعمال تغییرات؛ اگر از قبل Visual Studio باز است، حتماً یکبار آنرا ببندید و مجدد باز کنید.

پس از تغییرات فوق؛ Emulator به خوبی اجرا و برنامه‌ داخل آن به خوبی اجرا شد!

App running in the emulator


میزان مصرف حافظه RAM بعد از اجرای Emulator:

RAM Usage after running Emulator

دیدگاه‌ها