عمل مريح مع Android Studio


يوم جيد للجميع!


ما مدى إنتاجية Android Studio؟ هل تعتقد أنه يعمل بذكاء على جهاز الكمبيوتر الخاص بك أو ماك؟ أو ، في بعض الأحيان ، واجهت التخلف أو مجموعة طويلة؟ وعلى المشاريع الكبيرة؟


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


قد يجد أيضًا مستخدمو IDEs الآخرين شيئًا مفيدًا لأنفسهم.


الدافع


عاد Android Studio إلى أخرق في أيام الانتقال من Eclipse. وبالفعل بدأت البحث عن طرق لتحسين عمل IDE هذا. ومع ذلك ، فإن معظم الزملاء يتعلق هذا "بأي حال من الأحوال". إنه يعمل. ليس دائما سريع. حسنا.


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


بعد التحدث مع الزملاء ومعارف المطورين ، أصبح من الواضح لي أنه حتى كل "المحترفين" يفهمون الفروق الدقيقة في الأجهزة ونظام التشغيل و IDE. لأنني حاولت هنا تجميع برنامج تعليمي كامل بناءً على تجربتي الخاصة.


تنويه! جميع النماذج والعلامات التجارية المذكورة في المقال ليست دعاية!


الحديد


إليك ما يقال حول الأجهزة على موقع Android Studio الرسمي في عمود متطلبات النظام (لا يشمل مساحة القرص):


3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator 1280x800 minimum screen resolution 

هذا يكفي لبدء الاستوديو والعمل. نحن لا نتحدث عن أي أداء وراحة.


سوف أتحدث في هذا الفصل عن نوع الأجهزة المرغوب فيه للعمل المريح في المشروعات الكبيرة وما الذي يمكن أن يصبح "عنق الزجاجة" في نظامك.


هنا ، 5 المعلمات هي الأكثر أهمية بالنسبة لنا:


  • أداء وحدة المعالجة المركزية
  • عدد مؤشرات ترابط أجهزة وحدة المعالجة المركزية
  • كمية ذاكرة الوصول العشوائي
  • عشوائية القراءة والكتابة سرعة النظام الفرعي للقرص
  • سرعة قراءة كتلة صغيرة وكتابة كتلة صغيرة من النظام الفرعي للقرص

نظرًا لأنني كنت أعمل غالبًا على تكوينات تعتمد على منتجات Intel ، فسنتحدث عنها. ومع ذلك ، إذا كان لديك AMD ، فما عليك سوى قراءته وإجراء تصحيحات للتقنيات الحمراء المشابهة. وقد تم بالفعل وصف ناقص الوحيد الذي واجهته على AMD على Habré .


بضع كلمات عن ماك


ويعتقد أن ماك هو أفضل آلة للتنمية. يقال هذا غالبًا عن MacBook Pro.


شخصيا ، أنا أعتبر هذا أسطورة. مع ظهور التكنولوجيا ، فقدت NVMe Mac "سحرها". حتى اليوم ، حتى بين أجهزة الكمبيوتر المحمولة ، لا يعد جهاز Mac رائدًا من حيث جودة السعر. خاصة في سياق تطوير Android Studio.


بخلاف ذلك ، من أجل تطوير مريح ، لا يحتوي جهاز MacBook Pro لعام 2015 أو 2016 على معالج U. اقرأ عن الميزات الأخرى والخدمة أدناه.


وحدة المعالجة المركزية


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


مع المواضيع ، الأمور معقدة بعض الشيء. قرأت أن المستخدمين يقللون من أولوية الاستوديو وعملياته الفرعية بحيث لا "يتعطل" نظام التشغيل أثناء التجميع. السبب هنا هو واحد 1-2 مؤشرات ترابط الأجهزة. هذا لا يكفي ليس فقط ل IDE ، ولكن أيضا لنظام التشغيل الحديث. فقط "لكن" - في ممارستي ، كانت هناك مواقف عندما عملت معالجات U ثنائية النواة مع Hyper Threading (أي ، نوى 2 لكل 4 سلاسل) بشكل طبيعي مع مشاريع صغيرة نسبيًا ، لكن المشاكل المذكورة أعلاه بدأت في مشروعات كبيرة.


بالطبع ، الأجهزة الافتراضية مطلوبة.


لذلك ، أوصي بالبحث نحو Core i5 HQ Skylake مع 4+ تدفقات وأكثر قوة.


ذاكرة الوصول العشوائي


فيما يتعلق بالمعايير ، DDR3 وأعلى. هنا ، أعتقد ، الأمر واضح.


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


ما الحجم المطلوب؟ بالنسبة للمشاريع الصغيرة (الصغيرة جدًا) ، يكفي 4 جيجا بايت. في المشروعات الأكبر حجمًا ، يستطيع الاستوديو شغل 4 غيغابايت من الذاكرة بسرعة وغير ذلك الكثير. أضف محاكي HAXM (قل 2 غيغابايت) هنا وأخذ في الاعتبار أن نظام التشغيل الحديث (باستثناء بعض توزيعات Linux) يشغل حوالي 2 غيغابايت في الذاكرة - والآن اتضح أن 8 غيغابايت بالفعل "من الخلف إلى الخلف".


هذا لا يأخذ في الاعتبار ، على سبيل المثال ، Slack (الذي يستغرق حوالي 500 ميغابايت في المتوسط ​​في الذاكرة) و Chrome (حيث يذهب الفاتورة إلى غيغا بايت).


بشكل عام ، مع 8 غيغابايت من ذاكرة الوصول العشوائي ، يمكنك العمل بسرعة وبشكل مريح - يحفظ محرك أقراص سريع ومبادلة ملف المبادلة. ولكن الأمر يستحق التفكير في الترقية.


لذلك ، فإن الشركة تشتري آلات جديدة ، أو توفر ترقية لآلات العمل الحالية لذاكرة الوصول العشوائي 12 جيجابايت أو أكثر.


SSD


النظام الفرعي للقرص هو "عنق الزجاجة" الأكثر شيوعًا ، لذلك من الضروري الانتباه إليه أولاً.


العمل مع Android Studio على HDD في 2018 يمكن مقارنته بالعذاب - فكلما زاد حجم المشروع ، زاد عدد الأفاريز المتوفرة لك. لذلك ، من الواضح ، استخدم SSD فقط.


كما ذكر أعلاه ، هناك نوعان من المعلمات الحاسمة:


  • عشوائية القراءة والكتابة سرعة النظام الفرعي للقرص
  • سرعة قراءة كتلة صغيرة وكتابة كتلة صغيرة من النظام الفرعي للقرص

كلما كانت أعلى ، كلما كان الاستوديو أكثر استجابة ، وأسرع سيتم تحميله وتجميعه.


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


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


NVMe


إذا كانت اللوحة الأم تدعم تقنية NVMe ، فمن الأفضل استخدام محرك أقراص مع دعمه. يتيح لك الحصول على سرعات مماثلة لمحركات الأقراص الصلبة على نظام Mac وما فوق.


إذا كان لديك محرك أقراص سريع ، فسيتم التركيز على ناقل PCIe وقوة وحدة المعالجة المركزية الخاصة بك. لذلك ، على سبيل المثال ، إذا كانت اللوحة الأم تدعم الإخراج إلى محرك أقراص PCIe 2.0x4 \ 3.0x2 أو إذا لم يكن لديك وحدة معالجة مركزية قوية للغاية ، فلا ينبغي عليك شراء محرك أقراص باهظ الثمن. انظر إلى قدرات نظامك وسمك محفظتك.


SATA3


نعم ، SATA3 أكثر حيوية من جميع الكائنات الحية. ويمكنك العمل عليها بسرعة في الاستوديو.


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


انتل Optane


لم أكن مضطرًا لاستخدام Android Studio على جهاز به محرك الأقراص هذا (إذا كان يمكنك تسمية ذلك). إذا كان لدى أحدهم خبرة ، فاكتب في التعليقات.


GPU


ليست هناك حاجة للتحدث كثيرا.
إذا كنت تكتب تطبيقات مستخدمين عاديين ، فإن ما يشبه Intel HD 500 Series يكفي للاستوديو وللمحاكاة نفسها.


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


نظام التبريد والاختناق


هذا لا يتعلق بالترقية ، ولكن عن الصيانة.


معظمنا يعرف ظاهرة الاختناق . يستخدم تنفيذه للحماية ضد ارتفاع درجة الحرارة.


بالطبع ، يؤدي الاختناق إلى انخفاض في الإنتاجية. ليس دائما ملحوظا. في بعض الحالات ، يتم تقليل تشغيل Turbo Boost إلى الحد الأدنى للقيم ، وفي حالات أخرى ، يبدأ انخفاض في الحد الأقصى لترددات المعالج. والسبب هو عدم كفاية تشغيل نظام التبريد. من المهم أيضًا أن نفهم أن معظم اختبارات الإجهاد (مثل AIDA) تشخص تشغيل Turbo Boost المنتظم على أنه اختناق.


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


على وحدات المعالجة المركزية المتنقلة القوية الحديثة ، 80-90 درجة على شريحة تحت الحمل هو القاعدة. في الوقت نفسه ، تتميز SOCs المزودة بوحدات المعالجة المركزية هذه بتصميم مفتوح الشريحة ، مما يجعل منطقة نقل الحرارة صغيرة. تتم إزالة كل هذه الكومة من الحرارة هذا السخرية تصميم مماثل مع دائرة السائل مغلقة صغيرة.


نظام التبريد المحمول الحديث


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


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


بسبب المساحة الصغيرة من الكريستال ، فمن المنطقي استخدام عازل حراري عازل مع الموصلية الحرارية العالية (هذا يكلف حوالي 800-1000 ص لكل غرام). أبدا استخدام المعدن السائل! على خلاف ذلك ، لن تتمكن على الأرجح من فصل البلورة عن اللوحة!


إذا لم تكن لديك مهارات كافية لهذا الإجراء ، فمن الأفضل الاتصال بالخدمة.


إعدادات الأجهزة


سيركز هذا الفصل على وظائف وإعدادات الجهاز. على الأرجح ، أنت على دراية به بالفعل.


إنتل فرط الترابط


هذه هي تقنية Intel ، التي تقسم تدفق أجهزة kernel إلى قسمين "افتراضيين". بفضلها ، يرى النظام أن المعالج رباعي النواة هو المعالج ذو 8 النواة. يتيح لك هذا الأسلوب الاستفادة الفعالة من طاقة المعالج. AMD لديه تقنية مماثلة.


غالبًا ما أواجه حقيقة أن العديد من المطورين قاموا بتعطيل هذه الميزة وأنهم بشكل عام لا يعرفون عنها. ومع ذلك ، يمكن تضمينه زيادة استجابة الاستوديو وبناء الأداء. في بعض الحالات ، بنسبة 10-15 ٪.


يتم تشغيله في إعدادات BIOS \ UEFI الخاصة باللوحة الأم أو الكمبيوتر المحمول. يسمى عنصر بطريقة مماثلة أو مماثلة. إذا كنت لا تزال لا تعرف هذه التكنولوجيا ، فمن المنطقي التحقق من توفرها وتمكينها إذا لم يتم ذلك.


انتل توربو دفعة


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


لذلك ، إذا تم تعطيل هذه التقنية مسبقًا ، فمن المستحسن قبل تشغيلها التحقق من حالة نظام التبريد ، وربما القيام بصيانتها ، كما هو موضح في الفصل السابق.


يمكن تشغيل كل من BIOS \ UEFI ، وفي إعدادات نظام التشغيل.


إنتل التخزين السريع


ينصح بشدة دعم هذه اللوحة التكنولوجيا. مزيد من التفاصيل يمكن العثور عليها هنا .


لا يمكنني إلا أن أوصي بتحديث برامج التشغيل لهذه التكنولوجيا في الوقت المناسب لأحدث إصدار من موقع Intel الرسمي. حتى إذا كانت الشركة المصنعة للكمبيوتر المحمول الخاص بك تزودك ببرامج تشغيل أقدم.


في حالتي الخاصة ، أدى التحديث من إصدار برنامج التشغيل من الشركة المصنعة إلى الإصدار الحالي إلى زيادة سرعة التسجيل الخطي بحوالي 30٪ ، والسرعة التعسفية بنسبة 15٪.


كيفية تثبيت وتحديث برامج تشغيل IRST على نظام Linux - لا أعرف (وبشكل عام ، هل هذا ممكن؟). إذا كان أي شخص يعرف ، اكتب التعليقات ، وسأكمل المقالة بكل سرور.


SSD محو آمن


قد ينخفض ​​أداء نماذج SSD منخفضة التكلفة بمرور الوقت. هذا لا يحدث دائما بسبب "تدهور" محرك الأقراص. ربما في النموذج الخاص بك لم يتم تنفيذ TRIM بكفاءة عالية.


سوف يجبر Secure Erase وحدة التحكم على تمييز جميع خلايا الذاكرة ، والتي ، من الناحية النظرية ، ينبغي أن تعيد أداء SSD إلى حالة المصنع. وأيضا ، محو جميع البيانات الخاصة بك! كن حذرا ، وجعل النسخ الاحتياطي!


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


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


استخدام الأدوات المساعدة لجهة خارجية لهذه العملية غير محبذ للغاية.


ومع ذلك ، إذا فقدت SSD سرعة كبيرة في أقل من عام ، فمن الأفضل تغيير محرك الأقراص إلى طراز آخر.


الأجهزة الافتراضية


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


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


نظام التشغيل وبرامج الطرف الثالث


في هذا الفصل ، سنناقش تكوين نظام التشغيل المحتمل وتثبيت برامج الطرف الثالث من أجل زيادة الإنتاجية.


الفهرسة


يتعلق الأمر بإيجاد Windows و Spotlight على نظام Mac OS. يمكن أن تستغرق هذه الآليات ما يصل إلى 15٪ من طاقة وحدة المعالجة المركزية أثناء التجميع لأنها تحاول فهرسة كل ما يتم إنشاؤه في / إنشاء.


بالطبع ، من الفهرسة من الضروري استبعاد جميع الدلائل التي يعمل بها الاستوديو:


  • دليل SDK
  • دليل الاستوديو
  • دليل المشروع (موصى به للغاية)
  • ~ / .dle
  • ~ /
  • ~ / Android StudioX.X
  • ~ / lldb
  • دليل التخزين المؤقت Kotlin

مكافحة الفيروسات


أعلم أنه ليس كل شخص في بيئة التطوير قد قرر استخدام برنامج مكافحة فيروسات. لكن الكثير استخدامها. بما في ذلك ، في بعض الأحيان ، على نظامي التشغيل Linux و Mac OS. واستخدامه له ما يبرره تماما.


حتى لو كان لديك Windows 10 ولا يوجد برنامج مكافحة فيروسات ، فإن Windows Defender يؤدي وظائفه.


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


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


محرك الأقراص أو تشفير الدليل الرئيسي


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


هل يعمل تريم؟


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


يمكنك اختبار الصحة واستئناف مكالمات TRIM باستخدام الأدوات المساعدة المتخصصة. يوصى باستخدام الأدوات المساعدة من الشركة المصنعة لمحرك الأقراص.


RAMDisk


ما هو RAMDisk ، وقد عرفت منذ فترة طويلة. ولكن ما مدى فعالية ذلك في العمل مع الاستوديو؟


من تجربتي الخاصة ، لن أقول ذلك كثيرًا. ما لم تنقل المشروع نفسه ، SDK ، استوديو وهلم جرا إلى RAMDisk. إذا كان لديك ذاكرة RAM كافية ...


مع نقل بسيط للمشروع يزيد وزنه عن 500 ميغابايت (يشار إلى الرقم مع ذاكرة التخزين المؤقت للبناء) ، لم أستطع تحقيق زيادة تزيد على 15٪. على ما يبدو ، يتم إبطاء المكالمات إلى SDK وواجهات برمجة التطبيقات للنظام. نتيجة لذلك ، هذه الزيادة مكلفة للغاية.


الطريقة التالية هي أكثر كفاءة وأرخص بكثير.


طلبات محرك التخزين المؤقت


يتم تنفيذ شيء مماثل في نظام التشغيل Mac OS. ومع ذلك ، بالمقارنة مع التقنيات المذكورة أدناه ، فإنه غير فعال.


لسوء الحظ ، أعرف تطبيقين فقط ، وكلاهما مرتبط بشكل صارم بمنتجات الشركات المصنعة. إنها عن Samsung RAPID و PlexTurbo .


تعمل كلتا التقنيتين على مبادئ مماثلة (أصفها كما فهمت نفسي):


  • إذا كان هناك طلب لقراءة مجلدات صغيرة ، فسيتم تأجيلها إلى ذاكرة الوصول العشوائي ، وعند إعادة قراءتها ، يتم أخذها من هناك بالفعل. ذاكرة الوصول العشوائي القياسية ذاكرة التخزين المؤقت.
  • إذا كان هناك طلب لكتابة بيانات صغيرة ، يتم تأجيلها إلى ذاكرة التخزين المؤقت RAM. بعد ذلك ، تتم مقارنة طلبات الكتابة مع ذاكرة التخزين المؤقت. إذا قمت بإعادة كتابة نفس البيانات على نفس المسارات - لماذا إعادة تسجيلها في الأجهزة؟ وسوف SSD يعيش لفترة أطول.

الفرق الوحيد هو أن RAPID يستخدم ذاكرة الوصول العشوائي الحرة المتبقية كذاكرة تخزين مؤقت. توازن أقل - حجم ذاكرة تخزين مؤقت أقل ، تسارع أقل. يسمح لك PlexTurbo بتحديد الحد الأقصى لحجم ذاكرة التخزين المؤقت وتحميله من القرص الثابت عند بدء تشغيل النظام.


إذا تم استخدامه على SATA 3 ، يمكنك الحصول على زيادة تصل إلى 50 ٪. عند استخدام محرك NVMe ، يكون أصغر ، ولكنه غالبًا ما يكون مهمًا أيضًا.


في الوقت الحالي ، لديّ Samsung 860 EVO SATA 3. قيد التشغيل ، توجد علامات مرجعية مع تعطيل i7 6700HQ و Turbo Boost.


860 EVO قبل تشغيل RAPID واثنين يعمل بعد

رابيد قبالة



المدى الأول



المدى الثاني



يمكنك أن ترى بوضوح كيف يبدأ النظام في تخزين البيانات مؤقتًا عند التشغيل لأول مرة. النتيجة النهائية أعلى بكثير من SATA 3. ومع ذلك ، فإن فعالية هذه التكنولوجيا تعتمد أكثر على قدرات وحدة المعالجة المركزية. ما هو مرئي بوضوح عند تشغيل Turbo Boost.


860 EVO + RAPID + Turbo Boost


المواد التركيبية ، بالطبع ، جيدة. ولكن كل شيء يعمل عند قراءة / كتابة الملفات الصغيرة المتكررة. وهذه هي العمليات الأكثر شيوعًا عند تشغيل Android Studio.


أعمل حاليًا في مشروع به ذاكرة تخزين مؤقت إجمالية تزيد عن 700 ميجابايت ، وتتألف من 10 وحدات. واحدة من الوحدات النمطية الخاصة بها هو مولد رمز يستند إلى kapt مع منطق ثقيل جداً. نمطين NDK ، أحدهما يشير إلى Boost على مسار خارجي. الباقي هو طن من كود Kotlin.


إذا قارنا وقت إعادة بناء كاملة لهذا المشروع ، فإن النتائج هي كما يلي:


  • مع إيقاف تشغيل RAPID ، كان الوقت 1m 47s 633ms. متسامح.
  • مع تمكين RAPID ، مرت أول عملية إعادة بناء في 1m 41s 633ms. مكدسة في الخطأ.
  • مع تمكين RAPID ، مرت عملية إعادة البناء الثانية في 1m 7s 132m. هنا هو المكسب. أكثر بقليل من 37 ٪ ، وهو أمر مهم. تظهر عمليات إعادة البناء الإضافية وقتًا أقصر ولكن بفارق لا يزيد عن 3-5 ثواني عن آخر قياس. وهو غير مادي.

في عمليات أقصر ، يكون النمو في الاستوديو ملحوظًا على الفور.


نتيجة لذلك ، يمكننا أن نوصي بهذه التقنيات ومحركات الأقراص كطريقة جيدة لزيادة الإنتاجية. لم تكن هناك شكاوى حول الاستقرار.


أندرويد ستوديو


تؤخذ العديد من هذه النصائح من هنا وتستكملها تعليقاتي. الباقي هو نتيجة بحثي وتجربتي.


تحديثات


المشورة ، على الرغم من عاديا ، هي دائما ذات صلة. إذا لم يكن لديك مشروع قديم ، إذا كان ذلك ممكنًا ، فحاول تحديث إصدارات الاستوديو والمكونات ذات الصلة (مثل Gradle و Android Plugin و Kotlin Plugin). تقوم Google و JetBrains بالكثير من العمل لتحسين السرعة والبناء في الإصدارات الجديدة.


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


في بعض الحالات ، تحتاج إلى القيام File-> إبطال التخزين المؤقت وإعادة التشغيل بعد الاستعادة. إذا قمت بتحديث الاستوديو نفسه ، فمن الأفضل عمل نسخة احتياطية من أدلة الاستوديو ودلائل الإعدادات. هذا صحيح إذا كان مشروعك يحتوي على أي , .



, , API, library-. . , , .


, . , .


Instant Run


. " ". . -.


, , . . , - , Instant Run.


Build, Execution, Deployment -> Instant Run Enable Instant Run.


Attach to Process


. , ( ) . .


, - Attach debugger to Android process.


Gradle build configs


, buildConfig flavour , release- (, crashlytics, annotation- gradle-)- debug . - , , .


, buildConfig, PNG crunching, - debug-. png . :


 android { buildTypes { myConfig { crunchPngs false } } } //   android plugin android{ aaptOptions { cruncherEnabled false } } 

WebP


minimum api level 18, WebP. , . . , - .



(, app-), Compile independent modules in parallel Settings->Build, Execution, Deployment -> Compiler. CPU . - heap size , , .


gradle.properties


org.gradle.parallel=true


Gradle daemon


- , .


jvm gradle . . - . gradle.properties


org.gradle.daemon=true


Offline-


Gradle web- , . . , - .


Build, Execution, Deployment -> Gradle Offline work.


heap size Android Studio IDEA


. xmx1280m ( , RAM ). GC , , .


heap size , Gradle.


Gradle gradle.properties


org.gradle.jvmargs=-Xms1024m -Xmx4096m


1 4 . , .


Android Studio IDEA Help -> Edit Custom VM Options JVM- .


JVM , - . java -X .


الإضافات


, IDE. - . . .


- . Settings -> Plugins , , . , - .


Inspections


Settings -> Editor -> Inspections IDE. .


, . - , .


Power Save mode


File. (, , Spell Checking ..). . , , VS Code.


, .


Settings Repository


, . . .


codestyle- Git, copyright , codestyle .


, , .idea , - .


AVD


AVD . 3 , ( x86-).


, x86- Pie AVD . . , .


, HAXM 2 RAM .


, AVD CPU - , . , CPU - .


- . Settings -> Advanced . , . , Cold Boot. .


AVD


GPU , - GPU, . , . Cold Boot.


ملخص


, . .


- . , .

Source: https://habr.com/ru/post/ar433604/


All Articles