لماذا يكون محاكي Android بطيئًا جدًا؟ كيف يمكننا تسريع محاكي Android؟


14 Answers

ملاحظة هامة : يرجى الرجوع أولاً إلى قائمة Intel حول VT للتأكد من أن وحدة المعالجة المركزية تدعم Intel VT.

يعمل HAXM على سرقة محاكي Android البطيء

يرمز HAXM - "مدير تنفيذ المعجل Intel Intel الأجهزة"

ويدعم حاليًا تقنية Intel® VT فقط (تقنية المحاكاة الافتراضية Intel).

يستند محاكي Android إلى QEMU . تم تصميم الواجهة بين QEMU وبرنامج HAXM على النظام المضيف ليصبح بائعًا لاذعًا.

خطوات لتهيئة بيئة تطوير Android لـ HAXM

  1. تحديث Eclipse: تأكد من أن تثبيت Eclipse ومكوّن ADT الإضافي محدّث تمامًا.

  2. تحديث أدوات Android: بعد تحديث كل مكون إضافي لبرنامج Eclipse ، من المهم تحديث أدوات Android SDK. للقيام بذلك ، قم بتشغيل Android SDK Manager وقم بتحديث جميع مكونات Android SDK. للاستفادة من HAXM ، يجب أن تكون على الأقل الإصدار 17.

  • قم بتنزيل صور النظام x86 Atom System وبرنامج تشغيل إدارة التنفيذ Accelerated Intel Hardware . اتبع الصورة أدناه:

  • تثبيت برنامج تشغيل HAXM عن طريق تشغيل "IntelHaxm.exe". سيكون موجودًا في أحد المواقع التالية:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    إذا فشل برنامج التثبيت مع الرسالة التي يجب تشغيل Intel VT ، فستحتاج إلى تمكين هذا في BIOS . انظر وصف كيفية القيام بذلك في تمكين Intel VT (تقنية المحاكاة الافتراضية) .

  • إنشاء x86 AVD جديد : اتبع الصورة أدناه:

  • أو كما لـ SDK الجديد ،
Question

لقد حصلت على معالج Celeron سعة 2.67 غيغاهرتز ، و 1.21 جيجابايت من ذاكرة الوصول العشوائي على جهاز x86 Windows XP Professional.

ما أفهمه هو أن محاكي الأندرويد يجب أن يبدأ بسرعة كبيرة على هذا الجهاز ، لكن بالنسبة لي ، فإنه لا يفعل ذلك. لقد اتبعت جميع التعليمات في إعداد IDE و SDKs و JDKs ، وقد حققت بعض النجاح في بدء المحاكي بسرعة ، لكن ذلك نادر جدًا. كيف يمكنني ، إذا أمكن ، حل هذه المشكلة؟

حتى لو كان يبدأ ويحمّل الشاشة الرئيسية ، فهو بطيء جداً. لقد حاولت Eclipse IDE في الإصدار 3.5 (Galileo) و 3.4 (Ganymede).




لإضافة مزيد من المعلومات لهذا.

قمت مؤخرًا بترقية تثبيت Ubuntu إلى Ubuntu 10.04 LTS (Lucid Lynx) والذي بدوره قام بتحديث إصدار Java الخاص بي إلى:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

والآن يبدو أن المحاكي (على الرغم من أنه يبدأ بعض الوقت للبدء) يعمل أسرع من السابق.

قد يكون من المفيد للأشخاص الذين يقومون بترقية JVM الخاصة بهم.




المحاكيات بطيئة. لا يوجد شيء يمكنك فعله حيال ذلك ، ولكن هناك بدائل للمحاكي.

  1. Genymotion

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. ويندوز محاكي الأندرويد

  6. جرة الفول

  7. Andy

لجعل المحاكي أسرع ، يمكنك استضافة GPU واستخدام إصدار Android أخف ( Android 2.3 (Gingerbread)). سيكون التطوير على نظام Mac أفضل. لماذا استخدام المحاكي ، راجع للشغل؟ استخدام الهاتف الحقيقي أكثر منطقية.




إليكم ما لاحظت أنه لم يذكره أحد على الإطلاق.

تعيين جميع المعالجات المتاحة للمحاكي

إليك ما يمكنك تجربته. انها تسريع المحاكي بالنسبة لي ، وخصوصا خلال وقت التحميل. لقد لاحظت أن المحاكي يستخدم فقط نواة واحدة من وحدة المعالجة المركزية المتوفرة. أنا وضعت لاستخدام جميع المعالجات المتاحة.

أنا أستخدم Windows 7.

عندما يبدأ محاكي Android ، افتح مدير المهام ، انظر تحت علامة التبويب العملية ، وابحث عن "emulator-arm.exe" أو "emulator-arm.exe * 32" ... انقر بزر الماوس الأيمن فوقه ، وحدد Processor Affinity و تعيين قدر المعالج كما تريد إلى المحاكي.




النسخة الحالية (مايو 2011) من المحاكي بطيئة ولا سيما مع Android 3.0 (قرص العسل) في المقام الأول لأن المحاكي لا يدعم الأجهزة GL - وهذا يعني أن كود GL يتم ترجمته إلى برنامج (برنامج ARM ، في الواقع) الذي يحصل بعد ذلك يحتذى في البرنامج في QEMU . هذا بطئ مجنون. إنهم يعملون على هذه المشكلة ولديها حل جزئي ، ولكن ليس مع أي نوع من جودة الإطلاق.

تحقق من الفيديو Google I / O 2011: أدوات تطوير Android لرؤيته عمليًا - قفزة إلى حوالي 44 دقيقة.




بدء تشغيل المحاكي بطيء جداً. الشيء الجيد هو أنك تحتاج فقط لبدء المحاكي مرة واحدة. إذا كان المضاهاة قيد التشغيل بالفعل وقمت بتشغيل تطبيقك مرة أخرى ، يعيد المحاكي تثبيت التطبيق بسرعة نسبية. بالطبع ، إذا كنت تريد معرفة مدى سرعة تشغيله على الهاتف ، فمن الأفضل اختباره على هاتف حقيقي.




يبدو المحاكي لإبطاء نفسه عند الخمول. يظهر ذلك بوضوح عن طريق الماوس السريع على المفاتيح الموجودة على الجانب ومراقبة ردود الأضواء. كحل بديل ، -icount auto إلى QEMU عند بدء محاكي. يمكنك إنشاء ملف دفعي يسمى my_avd.bat للقيام بذلك نيابة عنك:

emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - إطلاق جهاز ظاهري باسم "my_avd"
  • -no-boot-anim - تعطيل الحركة -no-boot-anim أسرع
  • -qemu args... - تمرير الحجج ل qemu
  • -icount [N|auto] - تمكين عداد التعليمة الظاهرية -icount [N|auto] 2 ^ N لكل تعليمات

هذا جعل الرسوم المتحركة زبداني على نحو سلس وسرعت adb install عشرة أضعاف.




حاول تعطيل مكافحة الفيروسات. ربما ستجعل المحاكي أسرع.




تحديث: أحدث إصدار من استوديو Android (2.x) أدخل تحسينات كبيرة على المحاكي المجمّع. انها تستجيب ولها مجموعة كاملة من الميزات.

لأولئك الذين ما زالوا مهتمين: حاول استخدام Genymotion . يمكنك تنزيل إصدار لـ Windows / Mac OS X / Linux بعد التسجيل. البرنامج المساعد لل Eclipse هو متاح أيضا:

يمكن أن يتم تثبيت البرنامج عن طريق إطلاق Eclipse والانتقال إلى القائمة "Help / Install New Software" ، ثم إضافة موقع تحديث جديد بعنوان URL التالي: http://plugins.genymotion.com/eclipse . اتبع الخطوات المبينة بواسطة Eclipse.

هذا المحاكي سريع وسريع الاستجابة.

يتيح لك GenyMotion التحكم في العديد من أجهزة الاستشعار في جهازك بما في ذلك مستوى البطارية وقوة الإشارة ونظام تحديد المواقع العالمي. يحتوي الإصدار الأحدث الآن أيضًا على أدوات الكاميرا.




I had intermittent slow emulator (SDK v8.0) load times, up to three minutes on Intel Core i7 920 2.67 GHz CPU running on Xubuntu 10.04 VirtualBox 3.2.12 guest with Eclipse (3.6.1) loaded. I changed the VirtualBox guest memory from 1024 MB to 2048 MB and from that point on, I never experienced the slowness again (load times consistent at 33 seconds, CPU load consistent at 20%). Both Eclipse and the emulator are memory hogs.




I noticed that the my emulator ( Eclipse plugin) was significantly slowed by my Nvidia graphics card anti-aliasing settings. Removing 2x anti aliasing from the graphics menu and changing it to application controlled made it more responsive. It is still slow, but better than it used to be.




يحتوي الإصدار 9 من برنامج محاكاة Android على ميزة "لقطة" جديدة. يمكنك حفظ حالة المحاكي (إنشاء صورة للمحاكي) وتجنب التمهيد عند بدء محاكي.




يمكنك إنشاء emulator.bat باستخدام الأمر التالي لبدء محاكي. وسوف تبدأ بشكل أسرع.

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

أو على يونكس (ماك أو لينكس النكهات):

emulator -cpu-delay 0 -no-boot-anim @<avd name>



بعد التطوير لبعض الوقت ، أصبح المحاكي بطيئًا جدًا. لقد اخترت مسح بيانات المستخدم ، وكان أفضل بكثير. أظن أنه يستغرق بعض الوقت لتحميل كل ملف APK قمت بنشره.




The older Android versions run a lot faster. When I'm on my netbook, I use Android 1.5 (API level 3). There are a couple of drawbacks, though--your apps need to support the older platforms (obviously), and ndk-gdb requires running Android 2.2 (API level 8) or higher. But regularly testing apps against older platforms is a good idea anyway.




Related