اندروید 10 بر اساس سه موضوع مهم ساخته شده است. ابتدا، اندروید 10 با یادگیری ماشینی پیشرفته و پشتیبانی از دستگاههای نوظهور مانند گوشیهای تاشو و تلفنهای دارای 5G، لبه برتر نوآوری موبایل را شکل میدهد. در مرحله بعد، اندروید 10 تمرکز مرکزی بر حریم خصوصی و امنیت دارد و تقریباً 50 ویژگی دارد که به کاربران محافظت، شفافیت و کنترل بیشتری می دهد. در نهایت، اندروید 10 کنترلهای رفاه دیجیتالی کاربران را گسترش میدهد تا افراد و خانوادهها بتوانند تعادل بهتری با فناوری پیدا کنند.
در اینجا نگاهی داریم به آنچه در اندروید 10 برای توسعه دهندگان وجود دارد و چگونه می توانید امروز از آن استفاده کنید.
نوآوری و تجربیات جدید
با اندروید 10 میتوانید از جدیدترین نوآوریهای سختافزاری و نرمافزاری برای ایجاد تجربههای شگفتانگیز اپلیکیشن برای کاربران بهره ببرید.
تاشوها
Android 10 با تکیه بر پشتیبانی قوی چند پنجره ای، چندوظیفگی را در پنجره های برنامه گسترش می دهد و تداوم صفحه را برای حفظ وضعیت برنامه شما در حین تا شدن یا باز شدن دستگاه فراهم می کند. Android 10 تعدادی بهبود در onResume و onPause اضافه می کند تا از رزومه چندگانه پشتیبانی کند و برنامه شما را در صورت فوکوس مطلع کند. همچنین نحوه عملکرد مشخصه مانیفست resizeableActivity را تغییر میدهد تا به شما در مدیریت نحوه نمایش برنامه خود در صفحههای تاشو و بزرگ کمک کند. برای کمک به ساختن دستگاههای تاشو، میتوانید شبیهساز تاشو را بهعنوان دستگاه مجازی (AVD) در Android Studio پیکربندی کنید. برای جزئیات در مورد نحوه بهینهسازی برنامهها برای تاشوها، به راهنمای برنامهنویس مراجعه کنید.
شبکه های 5G
5G وعده می دهد که به طور مداوم سرعت های سریع تر و تاخیر کمتری ارائه می دهد، اندروید 10 پشتیبانی پلت فرمی را برای 5G اضافه می کند و API های موجود را گسترش می دهد تا به شما کمک کند از این پیشرفت ها استفاده کنید. میتوانید از APIهای اتصال برای تشخیص اینکه آیا دستگاه دارای اتصال پهنای باند بالا است و بررسی کنید که آیا اتصال اندازهگیری شده است یا خیر، استفاده کنید. با استفاده از اینها، برنامهها و بازیهای شما میتوانند تجربیات غنی و همهجانبهای را برای کاربران بیش از 5G ایجاد کنند.
پاسخ هوشمند در اعلان ها
Android 10 از ML روی دستگاه برای پیشنهاد اقدامات متنی در اعلانها استفاده میکند، مانند پاسخهای هوشمند برای پیامها یا باز کردن نقشه برای آدرسی در اعلان. برنامههای شما میتوانند فوراً بدون نیاز به انجام کاری از این ویژگی استفاده کنند. پاسخها و اقدامات هوشمند ارائهشده توسط سیستم بهطور پیشفرض مستقیماً در اعلانها درج میشوند. در صورت تمایل، همچنان می توانید پاسخ ها و اقدامات خود را ارائه دهید. فقط با استفاده از setAllowGeneratedReplies() و setAllowSystemGeneratedContextualActions() از Smart Reply بر اساس هر اعلان انصراف دهید.
تم تیره
Android 10 یک تم تاریک در سراسر سیستم اضافه می کند که برای نور کم ایده آل است و به صرفه جویی در باتری کمک می کند. کاربران میتوانند با رفتن به تنظیمات یا روشن کردن «بهینهسازی باتری» یک تم تاریک جدید در سراسر سیستم را فعال کنند. این رابط کاربری سیستم را به تیره تغییر می دهد و تم تاریک برنامه هایی را که از آن پشتیبانی می کنند فعال می کند. میتوانید یک تم تیره سفارشی برای برنامه خود بسازید یا ویژگی جدیدی Force Dark را انتخاب کنید که به سیستم اجازه میدهد به صورت پویا یک نسخه تاریک از طرح زمینه موجود شما ایجاد کند. همچنین ممکن است بخواهید از ویژگی DayNight AppCompat برای ارائه یک تم تیره برای کاربران نسخه های قبلی اندروید استفاده کنید. برای اطلاعات بیشتر به راهنمای توسعه دهنده مراجعه کنید.
ناوبری با اشاره
اندروید 10 یک حالت ناوبری کاملاً حرکتی را معرفی میکند که ناحیه نوار ناوبری را حذف میکند و به برنامهها اجازه میدهد تا از تمام صفحه برای ارائه تجربیات غنیتر و همهجانبهتر استفاده کنند. به جای دکمه های قابل مشاهده، پیمایش آشنای Back، Home و Recents را از طریق تند کشیدن لبه ها حفظ می کند. برای ترکیب یکپارچه با ناوبری اشاره ای، باید لبه به لبه بروید و پشت نوار پیمایش بکشید تا تجربه ای همه جانبه ایجاد کنید. برای پیادهسازی این، برنامهها باید از setSystemUiVisibility() API برای نمایش تمامصفحه استفاده کنند و سپس WindowInsets را بهطور مناسب مدیریت کنند تا اطمینان حاصل شود که بخشهای مهم رابط کاربری مبهم نیستند. همین امروز بهینه سازی برنامه خود را شروع کنید و برای اطلاعات بیشتر سری پست های وبلاگ ما را ببینید.
پانل های تنظیمات
اکنون میتوانید تنظیمات کلیدی سیستم را مستقیماً در زمینه برنامه خود، از طریق یک API پانل تنظیمات جدید نشان دهید. پانل تنظیمات یک رابط کاربری شناور است که برای نشان دادن تنظیماتی که ممکن است کاربران به آن نیاز داشته باشند، مانند اتصال به اینترنت، NFC و حجم صدا، از آن استفاده میکنید. به عنوان مثال، یک مرورگر میتواند پنلی را با تنظیمات اتصال مانند حالت هواپیما، Wi-Fi (از جمله شبکههای اطراف) و دادههای تلفن همراه نمایش دهد. برای نمایش پانل تنظیمات، کافیست یک هدف را با یکی از اقدامات جدید Settings.Panel اجرا کنید.
به اشتراک گذاری میانبرها
اشتراکگذاری میانبرها اشتراکگذاری را سریعتر و آسانتر میکند و به کاربران اجازه میدهد مستقیماً به برنامه دیگری برای اشتراکگذاری محتوا بپرند. توسعهدهندگان میتوانند اهداف اشتراکگذاری را منتشر کنند که فعالیت خاصی را در برنامههایشان با محتوای پیوست راهاندازی میکنند، و این موارد در رابط کاربری اشتراکگذاری به کاربران نشان داده میشوند. از آنجایی که از قبل منتشر شدهاند، رابط کاربری اشتراکگذاری بلافاصله پس از راهاندازی بارگیری میشود. اشتراکگذاری میانبرها مشابه میانبرهای برنامه است و از همان ShortcutInfo API استفاده میکند. API در کتابخانه ShareTarget AndroidX نیز پشتیبانی می شود. برای جزئیات بیشتر به برنامه نمونه مراجعه کنید.
حریم خصوصی برای کاربران
حفظ حریم خصوصی یک تمرکز اصلی در اندروید 10 است، از محافظت های قوی تر در پلتفرم گرفته تا ویژگی های جدید طراحی شده با در نظر گرفتن حریم خصوصی. بر اساس نسخههای قبلی، Android 10 شامل تغییرات گستردهای برای محافظت از حریم خصوصی و دادن کنترل بیشتر به کاربران، با بهبود رابط کاربری سیستم، مجوزهای سختگیرانهتر و محدودیتهایی برای استفاده از برنامههای داده است. برای جزئیات بیشتر در مورد نحوه پشتیبانی از این تغییرات در برنامه های خود، تغییرات حریم خصوصی را ببینید.
دادن کنترل بیشتر به کاربران بر روی دادههای مکان - کاربران کنترل بیشتری بر روی دادههای موقعیت مکانی خود از طریق یک گزینه مجوز جدید دارند - آنها اکنون میتوانند به یک برنامه اجازه دسترسی به مکان را فقط در زمانی که برنامه واقعاً در حال استفاده است (در حال اجرا در پیشزمینه) باشد. برای اکثر برنامهها، این سطح دسترسی کافی را فراهم میکند، در حالی که برای کاربران این یک پیشرفت بزرگ در شفافیت و کنترل است. برای کسب اطلاعات بیشتر درباره تغییرات مکان، به راهنمای برنامهنویس یا پست وبلاگ ما مراجعه کنید.
حفاظت از داده های مکان در اسکن های شبکه - اکثر API ها برای اسکن شبکه ها قبلاً به مجوز مکان درشت نیاز داشتند. Android 10 با نیاز به مجوز موقعیت مکانی خوب، محافظت از آن APIها را افزایش می دهد.
جلوگیری از ردیابی دستگاه - برنامهها دیگر نمیتوانند به شناسههای دستگاه غیرقابل تنظیمی که میتوانند برای ردیابی استفاده شوند، از جمله IMEI دستگاه، شماره سریال و شناسههای مشابه دسترسی پیدا کنند. آدرس MAC دستگاه نیز هنگام اتصال به شبکه های Wi-Fi به طور پیش فرض تصادفی می شود. بهترین روشها را برای کمک به انتخاب شناسههای مناسب برای مورد استفاده خود بخوانید و جزئیات را اینجا ببینید.
ایمن سازی اطلاعات کاربر در حافظه خارجی - اندروید 10 تعدادی تغییرات را ارائه می کند تا به کاربران کنترل بیشتری بر روی فایل های موجود در حافظه خارجی و داده های برنامه درون آنها بدهد. برنامهها میتوانند فایلهای خود را در جعبههای ایمنی خصوصیشان ذخیره کنند، اما باید از MediaStore برای دسترسی به فایلهای رسانه به اشتراکگذاشتهشده استفاده کنند و از انتخابگر فایل سیستم برای دسترسی به فایلهای به اشتراکگذاشتهشده در مجموعه دانلودهای جدید استفاده کنند. اینجا بیشتر بیاموزید.
مسدود کردن وقفههای ناخواسته - اندروید 10 از راهاندازی برنامه از پسزمینه جلوگیری میکند که به طور غیرمنتظرهای به پیشزمینه میپرد و تمرکز برنامه دیگری را به خود اختصاص میدهد. اینجا بیشتر بیاموزید.
امنیت
اندروید 10 تعدادی ویژگی را معرفی می کند که کاربران را از طریق پیشرفت در رمزگذاری، سخت شدن پلت فرم و احراز هویت، ایمن تر نگه می دارد. اطلاعات بیشتر درباره بهروزرسانیهای امنیتی اندروید 10 را اینجا بخوانید.
رمزگذاری فضای ذخیرهسازی - همه دستگاههای سازگاری که با Android 10 راهاندازی میشوند برای رمزگذاری دادههای کاربر مورد نیاز هستند و برای کارآمدتر کردن این کار، Android 10 شامل Adiantum ، حالت رمزگذاری جدید ما است.
TLS 1.3 به طور پیشفرض - اندروید 10 همچنین TLS 1.3 را بهطور پیشفرض فعال میکند، یک بازنگری اساسی در استاندارد TLS با مزایای عملکرد و امنیت پیشرفته .
سختسازی پلتفرم - اندروید 10 همچنین شامل سختسازی برای چندین ناحیه حیاتی از نظر امنیتی پلتفرم است.
بیومتریک بهبود یافته - اندروید 10 چارچوب BiometricPrompt را برای پشتیبانی از روشهای احراز هویت غیرفعال مانند چهره، و اضافه کردن جریانهای تأیید صریح و ضمنی گسترش میدهد. در جریان صریح، کاربر باید صریحاً تراکنش در TEE را در حین احراز هویت تأیید کند. جریان ضمنی برای جایگزینی با وزن سبک تر برای تراکنش هایی با احراز هویت غیرفعال طراحی شده است. اندروید 10 همچنین در صورت نیاز، اعتبارنامه های دستگاه را بهبود می بخشد. اینجا بیشتر بیاموزید.
دوربین و رسانه
عمق پویا برای عکس ها
اپلیکیشنها اکنون میتوانند یک تصویر عمق پویا را درخواست کنند که شامل یک JPEG، فراداده XMP مربوط به عناصر مرتبط با عمق، و یک نقشه عمق و اطمینان جاسازیشده در همان فایل است. اینها به شما امکان می دهند تاری و گزینه های بوکه تخصصی را در برنامه خود ارائه دهید. Dynamic Depth یک قالب باز برای اکوسیستم است و ما در حال کار با شرکای خود هستیم تا آن را به دستگاههای دارای Android 10 و بالاتر بیاوریم.
ضبط پخش صدا
اکنون هر برنامهای که صدا پخش میکند میتواند به برنامههای دیگر اجازه دهد جریان صوتی آن را با استفاده از یک API ضبط پخش صوتی جدید ضبط کنند. علاوه بر فعال کردن زیرنویس و زیرنویس، API به شما امکان میدهد از موارد استفاده محبوب مانند بازیهای پخش زنده پشتیبانی کنید. ما این قابلیت جدید را با در نظر گرفتن حریم خصوصی و حفاظت از حق چاپ ایجاد کردهایم، بنابراین توانایی یک برنامه برای ضبط صدای برنامه دیگر محدود است و به برنامهها کنترل کامل بر روی اینکه آیا جریانهای صوتی آنها قابل ضبط است یا خیر، میدهد. در این پست وبلاگ بیشتر بخوانید.
کدک های صوتی و تصویری جدید
اندروید 10 پشتیبانی از کدک ویدیوی منبع باز AV1 را اضافه می کند که به ارائه دهندگان رسانه اجازه می دهد محتوای ویدیویی با کیفیت بالا را با استفاده از پهنای باند کمتر به دستگاه های اندرویدی پخش کنند. علاوه بر این، Android 10 از رمزگذاری صدا با استفاده از Opus - یک کدک باز و بدون حق امتیاز که برای پخش گفتار و موسیقی بهینه شده است - و HDR10+ برای ویدیوهای با محدوده دینامیکی بالا در دستگاههایی که از آن پشتیبانی میکنند، پشتیبانی میکند. MediaCodecInfo API راه سادهتری را برای تعیین قابلیتهای رندر ویدیوی دستگاه اندرویدی معرفی میکند. برای هر کدک معین، میتوانید فهرستی از اندازهها و نرخ فریمهای پشتیبانی شده را دریافت کنید.
Native MIDI API
برای برنامههایی که پردازش صوتی خود را در ++C انجام میدهند، Android 10 یک API MIDI بومی برای برقراری ارتباط با دستگاههای MIDI از طریق NDK معرفی میکند. این API به داده های MIDI اجازه می دهد تا با استفاده از خواندن غیر مسدود کننده، در داخل یک تماس صوتی بازیابی شوند و پردازش با تأخیر کم پیام های MIDI را ممکن می سازد. آن را با نمونه برنامه و کد منبع اینجا امتحان کنید.
میکروفون های جهت دار و قابل زوم
اندروید 10 از طریق MicrophoneDirection API جدید کنترل بیشتری بر روی ضبط صدا به شما می دهد. میتوانید از API برای تعیین جهت ترجیحی میکروفون هنگام ضبط صدا استفاده کنید. به عنوان مثال، هنگامی که کاربر در حال گرفتن یک ویدیوی "سلفی" است، می توانید میکروفون جلویی را برای ضبط صدا (در صورت وجود) درخواست کنید . علاوه بر این، این API یک روش استاندارد برای کنترل میکروفونهای قابل بزرگنمایی را معرفی میکند که به برنامه شما اجازه میدهد تا بر بعد میدان ضبط کنترل داشته باشد.
ولکان همه جا
Android 10 با اجرای ما از API کم سربار و چند پلتفرمی برای گرافیکهای سه بعدی با کارایی بالا، تأثیر Vulkan را گسترش میدهد. Vulkan 1.1 اکنون برای همه دستگاههای 64 بیتی دارای اندروید 10 و بالاتر الزامی است و برای همه دستگاههای 32 بیتی توصیه میشود. ما در حال حاضر شاهد حرکت قابل توجهی در پشتیبانی از Vulkan در اکوسیستم هستیم - در میان دستگاههایی که Android N یا بالاتر دارند، 53٪ از Vulkan 1.0.3 یا بالاتر پشتیبانی میکنند. با نیاز جدید در اندروید 10، انتظار داریم که در سال آینده شاهد بهبود بیشتری در پذیرش باشیم.
قابلیت اتصال
اتصال همتا به همتا و اینترنت بهبود یافته است
ما پشته Wi-Fi را برای بهبود حریم خصوصی و عملکرد، و همچنین برای بهبود موارد استفاده رایج مانند مدیریت دستگاههای IoT و پیشنهاد اتصالات اینترنتی - بدون نیاز به مجوز مکان، بازسازی کردهایم. APIهای اتصال شبکه مدیریت دستگاههای IoT را از طریق Wi-Fi محلی برای عملکردهای همتا به همتا مانند پیکربندی، بارگیری یا چاپ آسانتر میکنند. APIهای پیشنهادی شبکه به برنامهها اجازه میدهند تا شبکههای Wi-Fi ترجیحی را برای اتصال به اینترنت به کاربر نشان دهند.
حالت های عملکرد وای فای
اکنون برنامهها میتوانند با فعال کردن حالتهای عملکرد بالا و تأخیر کم، Wi-Fi تطبیقی درخواست کنند. در مواردی که تأخیر کم برای تجربه کاربر مهم است، مانند بازیهای بیدرنگ، تماسهای صوتی فعال و موارد استفاده مشابه، اینها میتوانند یک مزیت بزرگ باشند. این پلت فرم با سیستم عامل دستگاه کار می کند تا نیاز را با کمترین مصرف انرژی برآورده کند. برای استفاده از حالتهای عملکرد جدید، با WifiManager.WifiLock.createWifiLock() با WIFI_MODE_FULL_LOW_LATENCY
یا WIFI_MODE_FULL_HIGH_PERF
تماس بگیرید. در این حالتها، پلتفرم با سیستم عامل دستگاه کار میکند تا نیاز را با کمترین مصرف انرژی برآورده کند.
پایه های اندروید
بهینه سازی های ART
بهبود در زمان اجرا ART به برنامههای شما کمک میکند سریعتر شروع شوند، حافظه کمتری مصرف کنند و روانتر اجرا شوند - بدون نیاز به هیچ کاری از شما. نمایههای ART ارائهشده توسط Google Play به ART اجازه میدهند تا قسمتهایی از برنامه شما را حتی قبل از اجرا پیشکامپایل کند. در زمان اجرا، Android 10 Generational Garbage Collection را به جمعآوری زباله کپی همزمان (CC) ART اضافه میکند تا جمعآوری زباله را از نظر زمان و CPU کارآمدتر کند، jank را کاهش دهد و به برنامهها کمک کند در دستگاههای پایینرده بهتر اجرا شوند.
API شبکه های عصبی 1.2
ما 60 عملیات جدید از جمله ARGMAX، ARGMIN، LSTM کوانتیزه شده، همراه با طیف وسیعی از بهینه سازی عملکرد را اضافه کرده ایم. این پایه و اساس را برای شتاب بخشیدن به طیف وسیع تری از مدل ها - مانند مدل هایی برای تشخیص اشیا و تقسیم بندی تصویر - ایجاد می کند. ما با فروشندگان سختافزار و چارچوبهای معروف یادگیری ماشینی مانند TensorFlow برای بهینهسازی و ارائه پشتیبانی از NNAPI 1.2 کار میکنیم.
API حرارتی
وقتی دستگاهها بیش از حد گرم میشوند، ممکن است CPU و/یا GPU را تحت تأثیر قرار دهند و این میتواند برنامهها و بازیها را به روشهای غیرمنتظرهای تحت تأثیر قرار دهد. اکنون در اندروید 10، برنامهها و بازیها میتوانند از یک API حرارتی برای نظارت بر تغییرات روی دستگاه استفاده کنند و برای کمک به بازگرداندن دمای عادی اقدام کنند. برای مثال، برنامههای پخش جریانی میتوانند رزولوشن/ نرخ بیت یا ترافیک شبکه را کاهش دهند، یک برنامه دوربین میتواند فلاش یا بهبود شدید تصویر را غیرفعال کند، یا یک بازی میتواند نرخ فریم یا چند ضلعی را کاهش دهد. ادامه مطلب را اینجا بخوانید.
سازگاری از طریق APIهای عمومی
Android 10 همچنان به گسترش محدودیتها در رابطهای غیر SDK ادامه میدهد، به طوری که برنامهها به تدریج به سمت استفاده از APIهای عمومی حرکت میکنند. اگر رابطی که در حال حاضر استفاده می کنید محدود است، می توانید به جای آن یک API عمومی جدید برای آن رابط درخواست کنید. برای کمک به شما در انتقال و جلوگیری از شکستن برنامههایتان، محدودیتها را فقط زمانی فعال میکنیم که برنامه شما Android 10 (API 29) را هدف قرار دهد. برای جزئیات بیشتر در مورد محدودیتها، به راهنمای برنامهنویس مراجعه کنید.
به روز رسانی سریع تر، کد جدیدتر
Android 10 برای بهروزرسانیهای سریعتر از طریق Project Treble ساخته شده است، که یک رابط ثابت و قابل آزمایش بین Android و کد زیرین دستگاه از سازندگان دستگاه و سازندگان سیلیکون ارائه میکند. از طریق Treble، سازندگان دستگاهها میتوانند اندروید 10 را سریعتر و با هزینه کمتر به دستگاههای سازگار با Treble بیاورند.
Android 10 همچنین اولین نسخهای است که از Project Mainline (بهطور رسمی بهروزرسانیهای سیستم Google Play نامیده میشود)، فناوری جدید ما برای ایمن کردن کاربران Android و تازه نگه داشتن دستگاههای آنها با تغییرات مهم کد - مستقیم از Google Play است. با بهروزرسانیهای سیستم Google Play، میتوانیم اجزای داخلی خاصی را در همه دستگاههای دارای Android 10 و بالاتر، بدون نیاز به بهروزرسانی کامل سیستم از سوی سازنده دستگاه، بهروزرسانی کنیم.
برای توسعهدهندگان، انتظار داریم این بهروزرسانیها در Android 10 به ایجاد ثبات در پیادهسازی پلتفرم به طور گسترده در بین دستگاهها کمک کند و به مرور زمان یکنواختی بیشتری به همراه داشته باشد که هزینههای توسعه و آزمایش شما را کاهش دهد.
شروع کنید
برای دریافت منابع کامل برنامهنویس برای Android 10، به developer.android.com/10 مراجعه کنید.