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




ضبط اعدادات برنامج nox (24)

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

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

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


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

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

يرمز HAXM - "مدير تنفيذ معجل Intel Intel Hardware"

ويدعم حاليًا تقنية 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 الجديد ،

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


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

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


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

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

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

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

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


تعمل الإصدارات الأقدم من Android بشكل أسرع. عندما أكون في نتبووك ، أستخدم Android 1.5 (مستوى API 3). هناك بعض السلبيات ، على الرغم من ذلك - تحتاج تطبيقاتك إلى دعم المنصات القديمة (من الواضح) ، ويتطلب ndk-gdb تشغيل Android 2.2 (مستوى API 8) أو أعلى. لكن اختبار التطبيقات بانتظام على منصات قديمة فكرة جيدة على أي حال.


كان لي مرات تحميل بطيء محاكي بطيء (SDK v8.0) ، ما يصل إلى ثلاث دقائق على وحدة المعالجة المركزية إنتل كور i7 920 2.67 جيجاهرتز تعمل على Xubuntu 10.04 VirtualBox 3.2.12 ضيف مع Eclipse (3.6.1) تحميلها. لقد غيرت ذاكرة الضيف VirtualBox من 1024 ميجابايت إلى 2048 ميغا بايت ، ومن تلك النقطة ، لم أواجه أي وقت مضى البطء مرة أخرى (أوقات التحميل متناسقة في 33 ثانية ، تحميل وحدة المعالجة المركزية متناسقًا بنسبة 20٪). كل من Eclipse والمحاكي هي الخنازير الذاكرة.



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

قمت مؤخرًا بترقية تثبيت 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 الخاصة بهم.


Android SDK rev. يدعم الإصدار 17 تسريع الأجهزة الظاهرية باستخدام تقنيات المحاكاة الافتراضية لـ AMD و Intel.

هذه الميزة يمكن أن تحسن أداء المحاكي الكثير!

راجع القسم التالي في وثائق محاكي أندرويد لمزيد من التفاصيل: تكوين تسريع الجهاز الظاهري

لا تنس تثبيت برنامج التشغيل المناسب لنظام التشغيل الخاص بك:

بعد تثبيت برامج التشغيل وتنزيل صورة نظام Android X86 (كما هو موضح في الوثائق) ، يجب أن تتمكن من إنشاء AVD جديد باستخدام صورة x86:

فمثلا:

  • الهدف: Intel Atom x86 System Image - API Level 10
  • CPU / ABI: Intel Atom (x86)

يمكنك مراجعة مشكلات المحاكي على Google I / O 2011: تحدث عن أدوات تطوير Android ، بدءًا من 0:40:20.

يعمل المحاكي ببطء لأن بيئة Android الكاملة تعمل على الأجهزة المحاكية ويتم تنفيذ الإرشادات على معالج ARM.

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

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


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


تحديث

يمكنك الآن تمكين خيار Quick Boot (التمهيد السريع) لمحاكي Android. سيؤدي ذلك إلى حفظ حالة المحاكي ، وسيبدأ المحاكي بسرعة عند التشغيل التالي.

انقر فوق زر تحرير Emulator ، ثم انقر فوق إظهار الإعداد المتقدم . ثم قم بتمكين Quick Boot مثل لقطة الشاشة أدناه.

تحتوي أدوات تطوير Android (ADT) 9.0.0 (أو الأحدث) على ميزة تسمح لك بحفظ حالة AVD (المحاكي) ، ويمكنك بدء المحاكي الخاص بك على الفور. يجب عليك تمكين هذه الميزة أثناء إنشاء AVD جديد أو يمكنك فقط إنشاءه لاحقًا عن طريق تحرير AVD.

كما قمت بزيادة Device RAM Size إلى 1024 مما ينتج عنه محاكي سريع جدًا.

إحالة لقطات الشاشة الواردة أدناه لمزيد من المعلومات.

إنشاء AVD جديد مع ميزة حفظ الحفظ.

إطلاق المحاكي من اللقطة.

ولتقريع محاكيك يمكنك الرجوع إلى تسريع محاكي الأندرويد الخاص بك! :


حسنًا ، نظرًا لأن أحد الأشخاص قد اقترح Android x86 كمحاكي اختبار بديل ، فستعرض أيضًا المفضلة لدي. هذا قد لا يكون بديلاً للجميع ، لكن بالنسبة لي فهو مثالي!

استخدم لاعب Bluestacks . يعمل بنظام التشغيل Android 2.3.4 وهو سريع جدًا وسريع. في بعض الأحيان يكون أسرع من جهاز عادي. الجانب السلبي الوحيد هو أنه يمكنك فقط اختبار التطبيقات على مستوى API 10 وفقط على حجم شاشة واحدة ، ولكنها مثالية فقط للاختبار إذا كانت تعمل أم لا. فقط قم بتوصيل المشغل adbبالجري

adb connect 127.0.0.1 

بعد تجميع ، تثبيته على الفور. إنه مثير للإعجاب للغاية ، مع الأخذ في الاعتبار أن لدي أجهزة كمبيوتر متوسطة الحجم (ثنائي النواة مع 4 جيجابايت من ذاكرة الوصول العشوائي).


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


لقد لاحظت أن المحاكي يبدأ بسرعة أكبر إذا لم يكن هناك خادم مراقبة Debvik Debug (DDMS) متصل. لذلك إذا بدأت المحاكي من Virtual Device Manager "SDK Setup.exe" ولم يتم بدء Eclipse ، فسيعمل المحاكي بشكل أسرع.

إذا قمت بتشغيل المحاكي من Eclipse: يوجد DDMS ، لذلك أحيانًا يكون المحاكي بطيئًا جدًا ، ولكن في بعض الأحيان يكون أسرع.


لقد لاحظت أن المحاكي الخاص بي ( Eclipse plugin) قد تباطأ بشكل كبير من خلال إعدادات تنبيهات بطاقة الرسومات Nvidia الخاصة بي. إزالة 2X من التعرجات المضادة من قائمة الرسومات وتغييره إلى التحكم في التطبيق جعلها أكثر استجابة. إنها لا تزال بطيئة ، لكنها أفضل مما كانت عليه من قبل.


لتقليل وقت بدء المحاكي ، تحتاج إلى التحقق من "تعطيل الرسوم المتحركة التمهيد" قبل بدء محاكي. ارجع إلى وثائق Android .

إذا كنت لا تعرف ، فأنت لست بحاجة إلى إغلاق المحاكي في كل مرة تقوم بتشغيل / تصحيح تطبيقك. إذا قمت بالنقر فوق تشغيل / تصحيح عندما يكون مفتوحًا بالفعل ، فسيتم تحميل ملف APK الخاص بك إلى المحاكي ويبدأ على الفور إلى حد كبير. يأخذ المحاكي وقتًا طويلاً بشكل مزعج فقط عندما يبدأ في المرة الأولى.

إليك بعض النصائح لتسريع محاكي Android: كيفية تسريع محاكي Android بنسبة تصل إلى 400٪ .


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

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

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

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

جرب genymotion.com لـ Android Studio. اشتعلت فيه النيران بسرعة! فقط يحتاج إلى تثبيت مرة واحدة. لا مزيد من الألم AVD.


جرب Android x86 . إنه أسرع بكثير من محاكي جوجل أندرويد. اتبع هذه الخطوات:

  1. تثبيت VirtualBox .
  2. قم بتنزيل ملف ISO الذي تحتاجه.
  3. إنشاء جهاز ظاهري مثل Linux 2.6 / Other Linux و 512 ميغابايت RAM و HD 2 GB. الشبكة: PCnet-Fast III ، تعلق على NAT . يمكنك أيضًا استخدام مهايئ موصّل ، ولكنك تحتاج إلى خادم DHCP في بيئتك.
  4. قم بتثبيت Android x86 على المحاكي ، قم بتشغيله.
  5. اضغط على Alt + F1 ، واكتب netcfg ، وتذكر عنوان IP ، واضغط على Alt + F7 .
  6. قم بتشغيل cmd على نظام Windows XP ، وقم بتغيير الدليل إلى دليل أدوات Android ، واكتب adb connect <virtual_machine_IP> .
  7. بدء Eclipse ، افتح المساعد ADT ، والعثور على الجهاز ، والتمتع به!

أصدرت شركة Intel تعليمات التثبيت الموصى بها لمحاكي ICS في 15 مايو 2012. لقد نجح هذا الأمر بالنسبة لي. المحاكي الآن سريع و UI على نحو سلس.

يتم تفصيل النصف الأول من التعليمات بشكل كافٍ ، لذا سأفترض أنك تمكنت من تثبيت صورة (صور) Intel x86 Atom System باستخدام إدارة Android SDK ، بالإضافة إلى Intel HAXM.

الآن لضمان أن كل شيء آخر قد تم إعداده بحيث يمكنك التمتع بأحد المحاكيات ذات الأداء العالي:

وابدأ الأمر:

sudo kextload -b com.intel.kext.intelhaxm (mac)

إذا كان HAXM يعمل بشكل صحيح ، فقد ترى هذه الرسالة عند بدء تشغيل المحاكي:

يعمل HAX ويعمل المحاكي في وضع التقديم السريع

وإلا قد ترى هذا الخطأ:

لا يعمل HAX ويعمل المحاكي في محاكي وضع المحاكاة:
فشل في فتح وحدة عرافة

  • استخدم محاكاة GPU. لا يمكنك استخدام الخيار اللقطات عند استخدام مضاهاة GPU اعتبارًا من هذه الكتابة. تأكد من تعيين مضاهاة GPU على "نعم".

  • اضبط ذاكرة الجهاز على 1024 ميجابايت أو أكثر ، ولكن ليس أكثر من إعداد Intel HAXM. أستخدم 1024 ميغابايت لكل جهاز و 2048 لـ HAXM.

تحقق دائمًا من الإعدادات بعد الحفظ! المحاكي من الصعب إرضاءه للغاية حول ما يسمح لك بتعيينه ، وسوف يقوم بإعادة التكوينات دون إخبارك.

باستخدام هذه الإعدادات ، لن تظهر لوحة مفاتيح البرنامج ، ولا تظهر مرة أخرى على الشاشة ، والقائمة ، والمفاتيح الحديثة. يبدو هذا وجود قيود على صورة النظام ICS Intel x 86 الحالي. ستحتاج إلى استخدام اختصارات لوحة المفاتيح .

على نظام التشغيل Mac OS ، ستحتاج إلى الاستمرار في التحكم في fn + لتشغيل مفاتيح F1 - F12 . يمكن تنفيذ الصفحة لأعلى / لأسفل / يسار / يمين باستخدام control + مفاتيح الأسهم.


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


يبدو المحاكي لإبطاء نفسه عند الخمول. ويتضح ذلك من خلال الإبريق السريع للمفاتيح الموجودة على الجانب ومراقبة ردود الأضواء. كحل بديل ، -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 عشرة أضعاف.


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

  1. Genymotion

  2. VirtualBox

  3. BlueStacks

  4. YouWave

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

  6. جرة الفول

  7. Andy

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





qemu