Android Studio 3.3 (ژانويه 2019)

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

3.3.2 (مارس 2019)

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

3.3.1 (فوریه 2019)

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

IntelliJ IDEA 2018.2.2

هسته Android Studio IDE با بهبودهایی از IntelliJ IDEA تا نسخه 2018.2.2 به روز شده است.

به روز رسانی پلاگین Android Gradle

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

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

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

دایرکتوری های استفاده نشده اندروید استودیو را حذف کنید

هنگامی که یک نسخه اصلی Android Studio را برای اولین بار اجرا می کنید، به دنبال دایرکتوری هایی می گردد که حاوی حافظه نهان، تنظیمات، شاخص ها و گزارش های مربوط به نسخه هایی از Android Studio است که نصب مربوطه برای آنها یافت نمی شود. سپس کادر گفتگوی Delete Unused Android Studio Directories مکان‌ها، اندازه‌ها و زمان‌های آخرین تغییر این فهرست‌های بلااستفاده را نمایش می‌دهد و گزینه‌ای برای حذف آنها ارائه می‌دهد.

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

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

بهبود لینت

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

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

جادوگر Create New Project ظاهر جدیدی دارد و حاوی به‌روزرسانی‌هایی است که به ساده‌سازی ایجاد پروژه‌های Android Studio جدید کمک می‌کند.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

متن قالب بندی شده برای بارهای اتصال را در نمایه ساز شبکه مشاهده کنید

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

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

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

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

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

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

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

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

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

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

گزینه های زیر از گفتگوی Customize C++ Support حذف شده اند:

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

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

CMake نسخه 3.10.2

نسخه 3.10.2 CMake اکنون با 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 Bundles اکنون از برنامه‌های فوری پشتیبانی می‌کند

Android Studio اکنون به شما امکان می‌دهد با پشتیبانی کامل از Google Play Instant ، Android App Bundle بسازید. به عبارت دیگر، اکنون می‌توانید برنامه‌های نصب شده و تجربیات فوری را از یک پروژه 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>
    
  

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

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

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

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

برای فعال کردن این بهینه سازی باید از Android Studio نسخه 3.3 یا بالاتر با افزونه Android Gradle نسخه 3.3.0 یا بالاتر استفاده کنید. هنگامی که این الزامات را برآورده می کنید، IDE از شما می خواهد که هنگام همگام سازی پروژه خود، این بهینه سازی را فعال کنید. بهینه سازی نیز به طور پیش فرض در پروژه های جدید فعال است.

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

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

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

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

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

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

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