Android Studio 3.3 (ינואר 2019)

Android Studio 3.3 היא מהדורה ראשית שכוללת מגוון תכונות ושיפורים חדשים.

3.3.2 (מרץ 2019)

העדכון הקטן הזה כולל תיקוני באגים שונים ושיפורי ביצועים. כדי לראות רשימה של תיקוני באגים חשובים, אפשר לקרוא את הפוסט הקשור בבלוג של עדכוני הגרסאות.

3.3.1 (פברואר 2019)

העדכון המשני הזה כולל תיקוני באגים ושיפורי ביצועים שונים.

IntelliJ IDEA 2018.2.2

סביבת הפיתוח המשולבת (IDE) של Android Studio עודכנה בשיפורים מ-IntelliJ IDEA, החל מגרסה 2018.2.2.

עדכונים לפלאגין של Android Gradle

בנתוני הגרסה של הפלאגין של Android Gradle מפורט מה חדש בו.

עורך הניווט מאפשר להציג במהירות את תוכן הניווט באפליקציה שלך וליצור באמצעותו רכיב ארכיטקטורת ניווט.

למידע נוסף, ראו הטמעת ניווט באמצעות הרכיב של ארכיטקטורת הניווט.

מחיקת ספריות של Android Studio שלא בשימוש

כשמריצים גרסה ראשית של Android Studio בפעם הראשונה, היא מחפשת ספריות עם מטמון, הגדרות, אינדקסים ויומנים לגרסאות של Android Studio שלא נמצאה בהן התקנה תואמת. בתיבת הדו-שיח Delete Unused Android Studio Directories יוצגו המיקומים, הגדלים והתאריכים של השינויים האחרונים של הספריות הלא בשימוש, ואפשרות למחוק אותן.

אלה הספריות שמערכת Android Studio שוקלת למחוק:

  • Linux: ‏ ~/.AndroidStudio[Preview]X.Y
  • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
  • ב-Windows: ‏ %USER%.AndroidStudio[Preview]X.Y

שיפורים לאיתור שגיאות בקוד

כשמפעילים את Lint מ-Gradle, הוא מהיר יותר באופן משמעותי – בפרויקטים גדולים יותר, הבדיקה עשויה לפעול פי ארבעה מהר יותר.

האשף ליצירת פרויקט חדש

אשף Create New Project (יצירת פרויקט חדש) כולל עיצוב חדש ועדכונים שיעזרו לייעל את יצירת הפרויקטים החדשים ב-Android Studio.

מידע נוסף זמין במאמר יצירת פרויקט.

עדכונים של כלי הניתוח

Android Studio 3.3 כולל עדכונים לכמה מהפרופילאורים הנפרדים.

ביצועים משופרים

על סמך משוב ממשתמשים, שיפרנו מאוד את ביצועי הרינדור תוך שימוש בכלי הפרופילים. חשוב להמשיך לשלוח משוב, במיוחד אם הבעיות בביצועים נמשכות.

אפשרויות מעקב אחר הקצאת זיכרון ב-Profiler

כדי לשפר את ביצועי האפליקציה במהלך יצירת הפרופיל, כלי הניתוח של זיכרון לוקח עכשיו דגימות של הקצאות זיכרון מדי פעם כברירת מחדל. אם רוצים לשנות את ההתנהגות הזו, אפשר להשתמש בתפריט הנפתח Allocation Tracking (מעקב אחר הקצאות) כשבודקים במכשירים עם Android מגרסה 8.0 (רמת API 26) ומעלה.

בתפריט הנפתח Allocation Tracking אפשר לבחור מבין המצבים הבאים:

  • מלא: מתועדות כל הקצאות הזיכרון של האובייקטים. חשוב לשים לב: אם יש לך אפליקציה שמקצה הרבה אובייקטים, יכול להיות שיהיו בעיות משמעותיות בביצועים במהלך הפרופיילינג.

  • Sampled:מתועדת דגימה תקופתית של הקצאות זיכרון של אובייקטים. זוהי התנהגות ברירת המחדל, והיא משפיעה פחות על ביצועי האפליקציה בזמן יצירת הפרופיל. יכול להיות שיהיו בעיות בביצועים של אפליקציות שמקצה הרבה אובייקטים בפרק זמן קצר.

  • מושבת: משבית את הקצאת הזיכרון. אם המצב הזה לא נבחר, הוא מופעל באופן אוטומטי בזמן צילום המעבד, ולאחר סיום הצילום הוא חוזר להגדרה הקודמת. אפשר לשנות את ההתנהגות הזו בתיבת הדו-שיח של הגדרת ההקלטה של המעבד.

    המעקב משפיע גם על אובייקטים של Java וגם על הפניות JNI.

בדיקת נתוני רינדור של מסגרות

ב-כלי לניתוחי מעבד אפשר עכשיו לבדוק כמה זמן לוקח לאפליקציית Java ליצור רינדור של כל פריים בשרשור הראשי של ממשק המשתמש וב-RenderThread. הנתונים האלה יכולים להיות שימושיים לחקירה של צווארי בקבוק שגורמים לתקלה בממשק המשתמש ולקצב פריימים נמוך. לדוגמה, כל פריים שנמשך יותר מ-16 אלפיות השנייה כדי לשמור על קצב פריימים חלק מוצג באדום.

כדי לראות את נתוני העיבוד של המסגרות, מתעדים מעקב באמצעות הגדרה שמאפשרת מעקב אחר קריאות למערכת. אחרי שתתעדו את המעקב, תוכלו לחפש מידע על כל פריים לאורך ציר הזמן של ההקלטה בקטע FRAMES, כפי שמוצג בהמשך.

מידע נוסף על בדיקה ותיקון של בעיות בקצב הפריימים זמין במאמר עיבוד איטי.

מקטעים בציר הזמן של האירוע

בציר הזמן של האירוע רואים עכשיו מתי מקטעים מצורפים ומנותקים. כמו כן, כשמעבירים את העכבר מעל מקטע, בהסבר הקצר מוצג סטטוס המקטע.

הצגת טקסט מעוצב של עומסי עבודה של חיבורים ב-Network Profiler

בעבר, הכלי לניתוח רשתות הציג רק טקסט גולמי מטען שימושי של חיבורים. ב-Android Studio 3.3, סוגי טקסט מסוימים מקבלים עכשיו פורמט כברירת מחדל, כולל JSON, ‏ XML ו-HTML. בכרטיסיות Response ו-Request, לוחצים על הקישור View Parsed כדי להציג טקסט בפורמט, ולוחצים על הקישור View Source כדי להציג טקסט גולמי.

למידע נוסף, ראו בדיקת תעבורת הרשת באמצעות Network Profiler.

הורדה אוטומטית של רכיבי SDK

כשהפרויקט שלך צריך רכיב SDK מפלטפורמות SDK, NDK או CMake, Gradle תנסה עכשיו להוריד באופן אוטומטי את החבילות הנדרשות, כל עוד אישרת בעבר את כל הסכמי הרישיון הקשורים באמצעות SDK Manager.

מידע נוסף זמין במאמר הורדה אוטומטית של חבילות חסרות באמצעות Gradle.

תמיכה ב-Clang-Tidy

Android Studio כולל עכשיו תמיכה בניתוח קוד סטטי באמצעות Clang-Tidy לפרויקטים שכוללים קוד מקורי. כדי להפעיל תמיכה ב-Clang-Tidy, צריך לעדכן את NDK לגרסה r18 ואילך.

לאחר מכן, תוכלו להפעיל או להפעיל מחדש את הבדיקות על ידי פתיחת תיבת הדו-שיח Settings או Preferences ועוברים אל Editor > Inspections > C/C++ > General > Clang-Tidy. כשבוחרים את הבדיקה הזו בתיבת הדו-שיח Settings או Preferences, אפשר לראות גם את רשימת הבדיקות של Clang-Tidy שמופעלות ומושבתות בקטע Option בחלונית השמאלית ביותר. כדי להפעיל בדיקות נוספות, מוסיפים אותן לרשימה ולוחצים על אישור.

כדי להגדיר את Clang-Tidy עם אפשרויות נוספות, לוחצים על Configure Clang-Tidy Checks Options ומוסיפים אותן בתיבת הדו-שיח שנפתחת.

הסרת האפשרויות להתאמה אישית של C++‎

האפשרויות הבאות הוסרו מתיבת הדו-שיח Customize C++ Support:

  • תמיכה בחריגים (-fexceptions)
  • תמיכה בנתוני סוג סביבת זמן ריצה (-ftti)

ההתנהגות המתאימה מופעלת בכל הפרויקטים שנוצרו באמצעות Android Studio.

CMake גרסה 3.10.2

גרסת CMake 3.10.2 נכללת עכשיו ב-SDK Manager. חשוב לזכור ש-Gradle עדיין משתמש בגרסה 3.6.0 כברירת מחדל.

כדי לציין גרסת CMake ש-Gradle תשתמש בה, מוסיפים את הקוד הבא לקובץ build.gradle של המודול:

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    
  

למידע נוסף על הגדרת CMake ב-build.gradle, ראו הגדרה ידנית של Gradle.

תחביר חדש של '+' לציון גרסאות CMake מינימום

כשמציינים גרסה של CMake בקובץ build.gradle של המודול הראשי, אפשר עכשיו להוסיף סימן '+' כדי להתאים את ההתנהגות לפקודה cmake_minimum_required() של CMake.

זהירות: לא מומלץ להשתמש בתחביר '+' עם יחסי תלות אחרים, כי יחסי תלות דינמיים עלולים לגרום לעדכוני גרסה לא צפויים ולקשיים בפתרון הבדלים בגרסאות.

קובצי Android App Bundle תומכים עכשיו באפליקציות ללא התקנה

עכשיו אפשר ליצור ב-Android Studio חבילות Android App Bundle עם תמיכה מלאה ב-Google Play Instant. במילים אחרות, עכשיו אפשר ליצור ולפרוס גם אפליקציות מותקנות וגם אפליקציות ללא התקנה מתוך פרויקט אחד ב-Android Studio, ולכלול אותן בקובץ Android App Bundle אחד.

אם אתם יוצרים פרויקט חדש ב-Android Studio באמצעות תיבת הדו-שיח Create New Project, הקפידו לסמן את התיבה שלצד Configure your project > This project will support instant apps. לאחר מכן, Android Studio יוצרת פרויקט אפליקציה חדש כרגיל, אבל כוללת את המאפיינים הבאים במניפסט כדי להוסיף תמיכה באפליקציות מיידיות למודול הבסיסי של האפליקציה:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  

לאחר מכן תוכלו ליצור מודול של תכונה שפועלת באופן מיידי. לשם כך, בסרגל התפריטים בוחרים באפשרות קובץ > חדש > מודול חדש, ואז בוחרים באפשרות Instant Dynamic Feature Module בתיבת הדו-שיח Create New Module. חשוב לזכור שיצירת המודול הזה מפעילה באופן מיידי גם את המודול הבסיסי של האפליקציה.

כדי לפרוס את האפליקציה במכשיר מקומי כחוויה מיידית, עורכים את הגדרת ההרצה ומסמנים את התיבה שליד כללי > פריסה כאפליקציה מיידית.

סנכרון של פרויקט עם וריאנט יחיד

סנכרון הפרויקט עם הגדרות ה-build הוא שלב חשוב שעוזר ל-Android Studio להבין את המבנה של הפרויקט. עם זאת, התהליך הזה יכול להיות זמן רב בפרויקטים גדולים. אם בפרויקט שלכם יש כמה גרסאות build, עכשיו תוכלו לבצע אופטימיזציה לסנכרון הפרויקטים על ידי הגבלת הסנכרון רק לגרסה שבחרתם כרגע.

כדי להפעיל את האופטימיזציה הזו, צריך להשתמש ב-Android Studio בגרסה 3.3 ואילך עם הפלאגין Android Gradle בגרסה 3.3.0 ואילך. אם אתם עומדים בדרישות האלה, תוצג לכם בקשה להפעיל את האופטימיזציה הזו ב-IDE כשתסינכרונירו את הפרויקט. האופטימיזציה מופעלת כברירת מחדל גם בפרויקטים חדשים.

כדי להפעיל את האופטימיזציה הזו באופן ידני, לוחצים על קובץ > הגדרות > ניסיוני > Gradle (Android Studio > העדפות > ניסיוני > Gradle ב-Mac) ובוחרים את התיבה סנכרון של הווריאנט הפעיל בלבד.

הערה: האופטימיזציה הזו תומכת כרגע בפרויקטים שכוללים רק את שפת התכנות Java. לדוגמה, אם ה-IDE מזהה בפרויקט קוד Kotlin או C++, הוא לא מפעיל את האופטימיזציה הזו באופן אוטומטי, ואסור להפעיל אותה באופן ידני.

מידע נוסף זמין במאמר הפעלת סנכרון של פרויקט עם וריאנט יחיד.

שליחת משוב מהיר

אם בחרת לשתף נתוני שימוש כדי לשפר את Android Studio, שני הסמלים החדשים יופיעו בשורת הסטטוס בחלק התחתון של חלון סביבת הפיתוח המשולבת (IDE):

פשוט לוחצים על הסמל שמייצג בצורה הטובה ביותר את החוויה הנוכחית שלכם בסביבת הפיתוח המשולבת. כשעושים זאת, סביבת הפיתוח המשולבת שולחת נתונים סטטיסטיים לגבי השימוש, שמאפשרים לצוות Android Studio להבין טוב יותר את דעתכם. במקרים מסוימים, למשל אם תציינו חוויה שלילית עם סביבת הפיתוח המשולבת, תהיה לכם הזדמנות לספק משוב נוסף.

אם עדיין לא עשיתם זאת, תוכלו להפעיל את שיתוף נתוני השימוש על ידי פתיחת תיבת הדו-שיח הגדרות (העדפות ב-Mac), ניווט אל מראה והתנהגות > הגדרות מערכת > שיתוף נתונים וסימון התיבה שליחת נתוני שימוש אל Google.