اندروید استودیو ۳.۳ (ژانویه ۲۰۱۹)

اندروید استودیو ۳.۳ یک نسخه اصلی است که شامل مجموعه‌ای از ویژگی‌ها و بهبودهای جدید می‌شود.

۳.۳.۲ (مارس ۲۰۱۹)

این به‌روزرسانی جزئی شامل رفع اشکالات مختلف و بهبود عملکرد است. برای مشاهده‌ی فهرست رفع اشکالات قابل توجه، پست مرتبط را در وبلاگ به‌روزرسانی‌های انتشار مطالعه کنید.

۳.۳.۱ (فوریه ۲۰۱۹)

این به‌روزرسانی جزئی شامل رفع اشکالات مختلف و بهبود عملکرد است.

اینتلی‌جی آیدیا ۲۰۱۸.۲.۲

محیط توسعه یکپارچه (IDE) اندروید استودیو (Android Studio) با بهبودهایی از IntelliJ IDEA تا نسخه 2018.2.2 به‌روزرسانی شده است.

به‌روزرسانی‌های افزونه‌ی گریدل اندروید

برای اطلاعات بیشتر در مورد ویژگی‌های جدید افزونه Android Gradle، به یادداشت‌های انتشار آن مراجعه کنید.

ویرایشگر ناوبری به شما امکان می‌دهد با استفاده از کامپوننت معماری ناوبری، به سرعت ناوبری را در برنامه خود تجسم کرده و بسازید.

برای اطلاعات بیشتر، به «پیاده‌سازی ناوبری با کامپوننت معماری ناوبری» مراجعه کنید.

حذف دایرکتوری‌های بلااستفاده اندروید استودیو

وقتی برای اولین بار یک نسخه اصلی از اندروید استودیو را اجرا می‌کنید، به دنبال دایرکتوری‌هایی می‌گردد که حاوی کش‌ها، تنظیمات، ایندکس‌ها و لاگ‌های نسخه‌هایی از اندروید استودیو هستند که نصب مربوط به آنها یافت نمی‌شود. سپس پنجره‌ی «حذف دایرکتوری‌های استفاده نشده اندروید استودیو» مکان‌ها، اندازه‌ها و زمان آخرین تغییر این دایرکتوری‌های استفاده نشده را نمایش می‌دهد و گزینه‌ای برای حذف آنها ارائه می‌دهد.

دایرکتوری‌هایی که اندروید استودیو برای حذف در نظر می‌گیرد در زیر فهرست شده‌اند:

  • لینوکس: ~/.AndroidStudio[Preview] XY
  • مک: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview] XY
  • ویندوز: %USER%.AndroidStudio[Preview] XY

بهبودهای Lint

Lint، وقتی از Gradle فراخوانی می‌شود، به طور قابل توجهی سریع‌تر است - پروژه‌های بزرگ‌تر می‌توانند انتظار داشته باشند که lint تا چهار برابر سریع‌تر اجرا شود.

ویزارد ایجاد پروژه جدید

ویزارد ایجاد پروژه جدید ظاهر جدیدی پیدا کرده و شامل به‌روزرسانی‌هایی است که به ساده‌سازی ایجاد پروژه‌های جدید اندروید استودیو کمک می‌کند.

برای اطلاعات بیشتر، به ایجاد یک پروژه مراجعه کنید.

به‌روزرسانی‌های پروفایلر

اندروید استودیو ۳.۳ شامل به‌روزرسانی‌هایی برای چندین پروفایلر مجزا است.

عملکرد بهبود یافته

بر اساس بازخورد کاربران، عملکرد رندرینگ هنگام استفاده از پروفایلرها به میزان قابل توجهی بهبود یافته است. لطفاً به ارائه بازخورد ادامه دهید، به خصوص اگر همچنان مشکلات عملکردی را مشاهده می‌کنید.

گزینه‌های ردیابی تخصیص حافظه پروفایلر

برای بهبود عملکرد برنامه هنگام پروفایل‌بندی، Memory Profiler اکنون به طور پیش‌فرض از تخصیص حافظه به صورت دوره‌ای نمونه‌برداری می‌کند. در صورت تمایل، می‌توانید این رفتار را با استفاده از منوی کشویی Allocation Tracking هنگام آزمایش روی دستگاه‌هایی که اندروید ۸.۰ (سطح API ۲۶) یا بالاتر دارند، تغییر دهید.

با استفاده از منوی کشویی Allocation Tracking ، می‌توانید از بین حالت‌های زیر انتخاب کنید:

  • کامل: تمام تخصیص‌های حافظه شیء را ثبت می‌کند. توجه داشته باشید که اگر برنامه‌ای دارید که اشیاء زیادی را اختصاص می‌دهد، ممکن است هنگام پروفایلینگ با مشکلات عملکردی قابل توجهی مواجه شوید.

  • نمونه‌برداری شده: نمونه‌ای دوره‌ای از تخصیص حافظه اشیاء را ثبت می‌کند. این رفتار پیش‌فرض است و تأثیر کمتری بر عملکرد برنامه هنگام پروفایلینگ دارد. ممکن است در برنامه‌هایی که اشیاء زیادی را در یک دوره زمانی کوتاه اختصاص می‌دهند، با برخی مشکلات عملکردی مواجه شوید.

  • خاموش: تخصیص حافظه را غیرفعال می‌کند. اگر قبلاً انتخاب نشده باشد، این حالت هنگام ضبط CPU به طور خودکار فعال می‌شود و پس از پایان ضبط به تنظیمات قبلی بازگردانده می‌شود. می‌توانید این رفتار را در کادر گفتگوی پیکربندی ضبط CPU تغییر دهید.

    این ردیابی هم بر اشیاء جاوا و هم بر ارجاعات JNI تأثیر می‌گذارد.

بررسی داده‌های رندر فریم

در CPU Profiler ، اکنون می‌توانید بررسی کنید که برنامه جاوا شما چقدر طول می‌کشد تا هر فریم را در نخ اصلی رابط کاربری و RenderThread رندر کند. این داده‌ها ممکن است هنگام بررسی گلوگاه‌هایی که باعث کندی رابط کاربری و نرخ فریم پایین می‌شوند، مفید باشند. به عنوان مثال، هر فریمی که بیش از 16 میلی‌ثانیه مورد نیاز برای حفظ نرخ فریم روان طول بکشد، با رنگ قرمز نمایش داده می‌شود.

برای مشاهده داده‌های رندر فریم، با استفاده از پیکربندی که به شما امکان ردیابی فراخوانی‌های سیستمی را می‌دهد، یک ردیابی ضبط کنید . پس از ضبط ردیابی، مطابق شکل زیر، در بخش FRAMES ، به دنبال اطلاعات مربوط به هر فریم در امتداد جدول زمانی ضبط باشید.

برای کسب اطلاعات بیشتر در مورد بررسی و رفع مشکلات نرخ فریم، بخش رندرینگ آهسته را مطالعه کنید.

قطعاتی در جدول زمانی رویداد

جدول زمانی رویدادها اکنون زمان اتصال و جدا شدن قطعات را نشان می‌دهد. علاوه بر این، وقتی ماوس را روی یک قطعه نگه می‌دارید، یک راهنما وضعیت قطعه را به شما نشان می‌دهد.

مشاهده متن قالب‌بندی شده برای بارهای اتصال در پروفایلر شبکه

پیش از این، Network profiler فقط متن خام از payloadهای اتصال را نمایش می‌داد. اندروید استودیو ۳.۳ اکنون انواع خاصی از متن را به طور پیش‌فرض قالب‌بندی می‌کند، از جمله JSON، XML و HTML. در تب‌های Response و Request ، برای نمایش متن قالب‌بندی شده، روی لینک View Parsed کلیک کنید و برای نمایش متن خام، روی لینک View Source کلیک کنید.

برای اطلاعات بیشتر، به بررسی ترافیک شبکه با Network Profiler مراجعه کنید.

دانلود خودکار اجزای SDK

وقتی پروژه شما به یک کامپوننت SDK از پلتفرم‌های SDK، NDK یا CMake نیاز دارد، Gradle اکنون تلاش می‌کند تا بسته‌های مورد نیاز را به طور خودکار دانلود کند، البته تا زمانی که قبلاً هرگونه توافق‌نامه مجوز مرتبط را با استفاده از SDK Manager پذیرفته باشید.

برای اطلاعات بیشتر، به دانلود خودکار بسته‌های مفقود شده با Gradle مراجعه کنید.

پشتیبانی از Clang-Tidy

اندروید استودیو اکنون از تجزیه و تحلیل کد استاتیک با استفاده از Clang-Tidy برای پروژه‌هایی که شامل کد بومی هستند، پشتیبانی می‌کند. برای فعال کردن پشتیبانی از Clang-Tidy، NDK خود را به نسخه r18 یا بالاتر به‌روزرسانی کنید .

سپس می‌توانید با باز کردن کادر محاوره‌ای تنظیمات یا تنظیمات و رفتن به ویرایشگر > بازرسی‌ها > C/C++ > عمومی > Clang-Tidy، بازرسی‌ها را فعال یا دوباره فعال کنید. هنگام انتخاب این بازرسی در کادر محاوره‌ای تنظیمات یا تنظیمات ، می‌توانید لیست بررسی‌های Clang-Tidy را که در بخش گزینه‌ها در پنل سمت راست فعال و غیرفعال شده‌اند، نیز مشاهده کنید. برای فعال کردن بررسی‌های بیشتر ، آنها را به لیست اضافه کرده و روی اعمال کلیک کنید.

برای پیکربندی Clang-Tidy با گزینه‌های اضافی ، روی Configure Clang-Tidy Checks Options کلیک کنید و آنها را در کادر محاوره‌ای باز شده اضافه کنید.

حذف گزینه‌های سفارشی‌سازی C++

گزینه‌های زیر از پنجره‌ی پشتیبانی از سفارشی‌سازی سی‌پلاس‌پلاس حذف شده‌اند:

  • پشتیبانی از استثنائات (-fexceptions)
  • پشتیبانی از اطلاعات نوع زمان اجرا (-ftti)

رفتارهای مربوطه برای همه پروژه‌های ایجاد شده از طریق اندروید استودیو فعال هستند.

نسخه CMake 3.10.2

نسخه ۳.۱۰.۲ از CMake اکنون در SDK Manager گنجانده شده است. توجه داشته باشید که Gradle هنوز به طور پیش‌فرض از نسخه ۳.۶.۰ استفاده می‌کند.

برای مشخص کردن نسخه CMake برای استفاده Gradle، کد زیر را به فایل build.gradle ماژول خود اضافه کنید:

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

برای اطلاعات بیشتر در مورد پیکربندی CMake در build.gradle ، به پیکربندی دستی Gradle مراجعه کنید.

سینتکس جدید «+» برای مشخص کردن حداقل نسخه‌های CMake

هنگام مشخص کردن نسخه‌ای از CMake در فایل build.gradle ماژول اصلی خود، اکنون می‌توانید یک "+" اضافه کنید تا با رفتار دستور cmake_minimum_required() در CMake مطابقت داشته باشد.

احتیاط: استفاده از سینتکس "+" با سایر وابستگی‌های ساخت توصیه نمی‌شود، زیرا وابستگی‌های پویا می‌توانند باعث به‌روزرسانی‌های غیرمنتظره نسخه و مشکل در حل تفاوت‌های نسخه شوند.

بسته‌های نرم‌افزاری اندروید اکنون از Instant Apps پشتیبانی می‌کنند

اندروید استودیو اکنون به شما امکان می‌دهد بسته‌های نرم‌افزاری اندروید را با پشتیبانی کامل از Google Play Instant بسازید. به عبارت دیگر، اکنون می‌توانید هم برنامه‌های نصب‌شده و هم تجربه‌های فوری را از یک پروژه اندروید استودیو بسازید و مستقر کنید و آنها را در یک بسته نرم‌افزاری اندروید قرار دهید.

اگر در حال ایجاد یک پروژه جدید اندروید استودیو با استفاده از کادر محاوره‌ای «ایجاد پروژه جدید» هستید، مطمئن شوید که کادر کنار «پیکربندی پروژه > این پروژه از برنامه‌های فوری پشتیبانی می‌کند» را علامت زده‌اید. سپس اندروید استودیو طبق معمول یک پروژه برنامه جدید ایجاد می‌کند، اما ویژگی‌های زیر را در مانیفست خود قرار می‌دهد تا پشتیبانی از برنامه فوری را به ماژول پایه برنامه خود اضافه کنید:

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

سپس می‌توانید با انتخاب File > New > New Module از نوار منو و سپس انتخاب Instant Dynamic Feature Module از پنجره Create New Module، یک ماژول ویژگی با قابلیت فعال‌سازی فوری ایجاد کنید . به خاطر داشته باشید که ایجاد این ماژول، ماژول پایه برنامه شما را نیز با قابلیت فعال‌سازی فوری فعال می‌کند.

برای استقرار برنامه خود در یک دستگاه محلی به عنوان یک تجربه فوری، پیکربندی اجرای خود را ویرایش کنید و کادر کنار عمومی > استقرار به عنوان برنامه فوری را علامت بزنید.

همگام‌سازی پروژه تک‌متغیره

همگام‌سازی پروژه با پیکربندی ساخت، گامی مهم در جهت درک ساختار پروژه توسط اندروید استودیو است. با این حال، این فرآیند برای پروژه‌های بزرگ می‌تواند زمان‌بر باشد. اگر پروژه شما از چندین نوع ساخت استفاده می‌کند، اکنون می‌توانید با محدود کردن آنها به تنها نوعی که در حال حاضر انتخاب کرده‌اید، همگام‌سازی‌های پروژه را بهینه کنید.

برای فعال کردن این بهینه‌سازی، باید از اندروید استودیو ۳.۳ یا بالاتر به همراه افزونه اندروید گریدل ۳.۳.۰ یا بالاتر استفاده کنید. وقتی این شرایط را داشته باشید، IDE هنگام همگام‌سازی پروژه از شما می‌خواهد که این بهینه‌سازی را فعال کنید. این بهینه‌سازی همچنین به طور پیش‌فرض در پروژه‌های جدید فعال است.

برای فعال کردن دستی این بهینه‌سازی، روی File > Settings > Experimental > Gradle ( اندروید استودیو > Preferences > Experimental > Gradle در مک) کلیک کنید و کادر انتخاب Only sync the active variant را انتخاب کنید.

توجه: این بهینه‌سازی در حال حاضر از پروژه‌هایی پشتیبانی می‌کند که فقط شامل زبان برنامه‌نویسی جاوا هستند. اگر، برای مثال، IDE کد Kotlin یا C++ را در پروژه شما تشخیص دهد، به طور خودکار این بهینه‌سازی را فعال نمی‌کند و شما نیز نباید آن را به صورت دستی فعال کنید.

برای اطلاعات بیشتر، به فعال کردن همگام‌سازی پروژه تک متغیره مراجعه کنید.

ارائه بازخورد سریع

اگر برای کمک به بهبود اندروید استودیو، اشتراک‌گذاری آمار استفاده را انتخاب کرده‌اید، این دو آیکون جدید را در نوار وضعیت در پایین پنجره IDE مشاهده خواهید کرد:

کافیست روی آیکونی که به بهترین شکل نشان دهنده تجربه فعلی شما با IDE است کلیک کنید. وقتی این کار را انجام می‌دهید، IDE آمار استفاده را ارسال می‌کند که به تیم اندروید استودیو اجازه می‌دهد تا احساسات شما را بهتر درک کنند. در برخی موارد، مانند زمانی که تجربه منفی با IDE دارید، فرصتی برای ارائه بازخورد اضافی خواهید داشت.

اگر قبلاً این کار را نکرده‌اید، می‌توانید با باز کردن کادر تنظیمات Preferences در مک، به مسیر Appearance & Behavior > System Settings > Data Sharing بروید و گزینه Send usage statistics to Google را تیک بزنید و اشتراک‌گذاری آمار استفاده را فعال کنید.