اندروید استودیو 3.3 با ویژگی های انقلابی منتشر شد.
برای آپدیت اندروید استودیو تنها کافیست به مسیر زیر بروید
Help > Check for updates (on Mac, Android Studio > Check for updates)
یا از صفحه اصلی اندرودید استودیو بصورت دستی دانلود کنید
همچنین اگر با مشکلی در اندروید استودیو برخورد کردید میتونید به این صفحه و یا این صفحه مراجعه کنید چون ممکن است یک مشکل روتین براتون بوجود اومده باشه و تیم گوگل اون رو رفع کرده باشن و همچنین راه حل رو به اشتراک گذاشته باشن
(برای مشاهده تصاویر در سایز اصلی لطفا برروی آنها کلیک کنید 🙂 )
در اندروید استودیو 3 ما شاهد پشتیبانی کامل این ide از کاتلین بودیم پس درباره این مسئله صحبتی نخواهیم کرد چون به نوعی کاتلین جای خود را محکم کرده و جای بحثی نماند.
اما در نسخه 3.3 اندروید استودیو چه خواهیم داشت؟ 🙂
این نسخه در ماه January 2019 منتشر شده و به قول خود گوگل
Android Studio 3.3 is a major release that includes a variety of new features and improvements
Android Studio 3.3 یک انتشار عمده است که شامل بسیاری از ویژگی های جدید و پیشرفته است.
به نوعی این نسخه جز نسخه ها با تغییرات major یا عمده نام برده شده! پس بی وقفه به بررسی تغییرات خواهیم پرداخت .
در این نسخه هسته اصلی اندروید استودیو به واسطه بهبود IntelliJ IDEA به نسخه 2018.2.2 آپدیت شده
ارتقا نسخه گردل به 3.3.0 بدین صورت com.android.tools.build:gradle:3.3.0
با نویگیشن ادیتور شما میتونید خیلی راحت و بصورت کاملا ویژوال ارتباطات بین صفحات رو تنظیم و برقرار کنید.
در پست بعدی بصورت کامل و با مثال نویگیشن ادیتور رو توضیح دادیم که میتونید ببینیدو سورس رو هم دانلود کنید.
زمانی که این نسخه major یا اصلی را نصب میکنید خواهید دید که یک دیالوگ به شما نمایش میدهد مبنی بر دایرکتوری هایی که دیگر با نسخه فعلی سازگار نبوده و مربوط به نسخه های قبل است مثل کش ها و تنظیمات و … که میتوانید آنهارا پاک کنید و تا حافظه اضافی اشغال نکرده باشند.
دایرکتوری ها در هر سیستم عامل نیز به شرح زیر هستند
Linux: ~/.AndroidStudio[Preview]_X.Y_
Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]_X.Y_
Windows: %USER%\.AndroidStudio[Preview]_X.Y_
ابزار lint یک ابزار اسکنر کد در اندروید استودیو ست که سورس شما رو اسکن میکنه تا اگر کدی به عنوان کد مشکل دار شناخت آنرا با اولویت و شدت خطر به شما با یک توضیح کامل نمایش دهد.
حالا در این نسخه اندروید استودیو سرعت این ابزار بهبود پیدا کرده و به گفته خود گوگل ما باید انتظار سرعت چهاربرابر بیشتر برای پروژه های سنگین رو داشته باشیم
Lint, when invoked from Gradle, is significantly faster—larger projects can expect lint to run up to four times faster
ویزارد جدید ساخت پروژه جدید در اندروید استودیو که کاملا تغییر کرده و بهینه تر شده !
اندروید استودیو شامل آپدیت هایی در بخش پروفایل profile نیز هست که در ادامه به تفکیک توضیح خواهیم داد
افزایش بهبود کارایی profile براساس فیدبک های کاربران به گفته خود گوگل
Based on user feedback, rendering performance while using the profilers has been greatly improved. Please continue to provide feedback, especially if you continue to see performance issues
برای بهبود این بخش گوگل امکان انتخاب دوره های کاستوم تری برای نمایش مصرف رم به کاربر داده که شامل :
Full : تمام تخصیص هارا ضبط میکندکه مسلما اگر پروژه آبجکت های زیادی رابرای استفاده از رم داشته باشد ممکن است پروفایل مشکلات عملکردی پیدا کند.
Sampled : تخصیص هارا بصورت دوره ای ضبط میکند که این همان رفتار پیشفرض پروفایل است و تاثیر کمتری به عملکرد اپ خواهد داشت.
off : تخصیص حافظه را خاموش میکند. که اگر درحالت عادی انتخاب نشده باشد زمان ضبط CPU فعال خواهد شد و پس از اتمام ضبط نیز به حالت قبل بازخواهد گشت
در CPU Prfiler میتوان بررسی کرد که چه میزان زمان میبرد تا هر فریم در ترد main UI و RenderThreadاجرا شود.
در زمانبندی های رویداد نیز میتوان دید که هر فرگمنت چه زمان attach شده و چه زمان deattach
هم اکنون اندروید استودیو به شما این اجازه رو میده که تنها با یک پروژه هردو بسته اپ قابل نصب و اپ instant با ساپورت کامل Google Play Instant رابسازید
اما برای ساخت اپ های اینستنت instant حتما باید زمان ساخت یک پروژه جدید چک باکس
Configure your project > This project will support instant apps
را فعال کنید.
سپس اندروید استودیو یک پروژه معمولی میسازه (یعنی تغییرات عجیب غریبی نمیده اما..) اما در منیفست برنامه چنین تغییری خواهیم داشت
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution"> <dist:module dist:instant="true" /> ... </manifest>
(در پست های آتی تجاری اپ بصورت کامل تر با نمونه پروژه ای حول محور instant app نیز خواهیم داشت.)