به اندروید 4.4 کیت کت خوش آمدید!
Android KitKat همه نوآورانهترین، زیباترین و مفیدترین ویژگیهای اندروید را برای دستگاههای بیشتری در همه جا به ارمغان میآورد.
این سند یک نگاه اجمالی از چیزهای جدید برای توسعه دهندگان ارائه می دهد.
در www.android.com درباره KitKat برای مصرف کنندگان اطلاعات بیشتری کسب کنید.
ساخت اندروید برای همه
Android 4.4 طوری طراحی شده است که سریع، روان و پاسخگو در طیف وسیع تری از دستگاه ها نسبت به قبل اجرا شود - از جمله در میلیون ها دستگاه سطح پایه در سراسر جهان که 512 مگابایت رم دارند.
کیت کت تمام اجزای اصلی را برای کاهش استفاده از حافظه ساده می کند و API ها و ابزارهای جدیدی را برای کمک به شما در ایجاد برنامه های کاربردی خلاقانه، پاسخگو و کارآمد از حافظه معرفی می کند.
OEM هایی که نسل بعدی دستگاه های اندرویدی را می سازند، می توانند از توصیه ها و گزینه های هدفمند برای اجرای کارآمد Android 4.4 ، حتی در دستگاه های با حافظه کم بهره ببرند. تنظیم حافظه پنهان کد Dalvik JIT، ادغام هسته یکسان صفحه (KSM)، تعویض به zRAM و سایر بهینه سازی ها به مدیریت حافظه کمک می کند. گزینههای پیکربندی جدید به OEMها اجازه میدهند سطوح خارج از حافظه را برای پردازشها تنظیم کنند، اندازه حافظه پنهان گرافیکی را تنظیم کنند، بازیابی حافظه را کنترل کنند و موارد دیگر.
در خود اندروید، تغییرات در سیستم باعث بهبود مدیریت حافظه و کاهش ردپای حافظه می شود. فرآیندهای سیستم اصلی برای استفاده از هیپ کمتر کوتاه شده اند، و اکنون با شدت بیشتری از حافظه سیستم در برابر برنامه هایی که مقادیر زیادی رم مصرف می کنند محافظت می کنند . هنگامی که چندین سرویس به طور همزمان شروع می شوند - مانند زمانی که اتصال شبکه تغییر می کند - Android اکنون سرویس ها را به صورت سریالی و در گروه های کوچک راه اندازی می کند تا از اوج تقاضای حافظه جلوگیری کند.
برای توسعه دهندگان، Android 4.4 به شما کمک می کند برنامه هایی را ارائه دهید که در همه دستگاه ها کارآمد و پاسخگو هستند . یک API جدید، ActivityManager.isLowRamDevice() به شما امکان می دهد رفتار برنامه خود را طوری تنظیم کنید که با پیکربندی حافظه دستگاه مطابقت داشته باشد. بسته به موارد استفاده ای که می خواهید در دستگاه های سطح پایه پشتیبانی کنید، می توانید ویژگی های حافظه بزرگ را در صورت نیاز تغییر یا غیرفعال کنید. درباره بهینه سازی برنامه های خود برای دستگاه های با حافظه کم در اینجا بیشتر بیاموزید.
ابزارهای جدید همچنین بینش قدرتمندی در مورد استفاده از حافظه برنامه به شما می دهند. ابزار procstats استفاده از حافظه را در طول زمان با زمان اجرا و ردپای حافظه برای برنامههای پیشزمینه و خدمات پسزمینه جزئیات میدهد. نمای روی دستگاه نیز به عنوان گزینه توسعه دهنده جدید در دسترس است. ابزار meminfo بهبود یافته است تا تشخیص روندها و مشکلات حافظه را آسانتر کند و سربار حافظه اضافی را که قبلاً قابل مشاهده نبوده را نشان میدهد.
قابلیت های جدید NFC از طریق شبیه سازی کارت میزبان
Android 4.4 پشتیبانی پلتفرم جدیدی را برای تراکنشهای ایمن مبتنی بر NFC از طریق Host Card Emulation (HCE)، برای پرداختها، برنامههای وفاداری، دسترسی به کارت، گذرنامههای حمل و نقل و سایر خدمات سفارشی معرفی میکند. با HCE، هر برنامه در دستگاه اندرویدی میتواند کارت هوشمند NFC را شبیهسازی کند، و به کاربران اجازه میدهد تا برای شروع تراکنشها با برنامه مورد نظر خود ضربه بزنند - هیچ عنصر امن (SE) در دستگاه مورد نیاز نیست. برنامهها همچنین میتوانند از یک حالت Reader جدید استفاده کنند تا به عنوان خواننده کارتهای HCE و سایر تراکنشهای مبتنی بر NFC عمل کنند.
Android HCE کارتهای هوشمند مبتنی بر ISO/IEC 7816 را تقلید میکند که از پروتکل بدون تماس ISO/IEC 14443-4 (ISO-DEP) برای انتقال استفاده میکنند. این کارت ها امروزه توسط بسیاری از سیستم ها از جمله زیرساخت پرداخت EMVCO NFC استفاده می شود. Android از Application Identifiers (AIDs) همانطور که در ISO/IEC 7816-4 تعریف شده است به عنوان مبنایی برای مسیریابی تراکنش ها به برنامه های Android صحیح استفاده می کند.
برنامهها AIDهایی را که پشتیبانی میکنند در فایلهای مانیفست خود به همراه یک شناسه دسته که نوع پشتیبانی موجود را نشان میدهد (مثلاً «پرداختها») اعلام میکنند. در مواردی که چندین برنامه از یک AID در یک دسته پشتیبانی میکنند، Android یک گفتگو را نمایش میدهد که به کاربر امکان میدهد از کدام برنامه استفاده کند.
هنگامی که کاربر برای پرداخت در یک پایانه نقطه فروش ضربه می زند، سیستم AID ترجیحی را استخراج می کند و تراکنش را به برنامه صحیح هدایت می کند. این برنامه دادههای تراکنش را میخواند و میتواند از هر سرویس محلی یا مبتنی بر شبکه برای تأیید و سپس تکمیل تراکنش استفاده کند.
Android HCE به یک کنترلر NFC در دستگاه نیاز دارد. پشتیبانی از HCE در حال حاضر به طور گسترده در اکثر کنترلرهای NFC در دسترس است، که پشتیبانی پویا را برای تراکنش های HCE و SE ارائه می دهند. دستگاههای Android 4.4 که از NFC پشتیبانی میکنند شامل Tap & Pay برای پرداختهای آسان با استفاده از HCE میشوند.
چارچوب چاپ
برنامههای اندروید اکنون میتوانند هر نوع محتوا را از طریق Wi-Fi یا سرویسهای میزبان ابری مانند Google Cloud Print چاپ کنند. در برنامههای دارای قابلیت چاپ، کاربران میتوانند چاپگرهای موجود را پیدا کنند، اندازه کاغذ را تغییر دهند، صفحات خاصی را برای چاپ انتخاب کنند و تقریباً هر نوع سند، تصویر یا فایلی را چاپ کنند.
اندروید 4.4 پشتیبانی پلتفرم بومی را برای چاپ، همراه با APIهایی برای مدیریت چاپ و افزودن انواع جدید پشتیبانی از چاپگر معرفی می کند. این پلتفرم یک مدیر چاپ ارائه می دهد که بین برنامه هایی که درخواست چاپ می کنند و خدمات چاپ نصب شده ای که درخواست های چاپ را رسیدگی می کنند، واسطه می شود. مدیر چاپ خدمات مشترک و رابط کاربری سیستمی را برای چاپ ارائه می دهد و به کاربران امکان کنترل مداوم بر چاپ از هر برنامه ای را می دهد. مدیر چاپ همچنین امنیت محتوا را هنگام انتقال در فرآیندها، از یک برنامه به یک سرویس چاپ، تضمین می کند.
تولیدکنندگان چاپگر میتوانند از APIهای جدید برای توسعه خدمات چاپ خود استفاده کنند - اجزای قابل اتصال که منطق و خدمات خاص فروشنده را برای برقراری ارتباط با انواع خاصی از چاپگرها اضافه میکنند. آنها میتوانند سرویسهای چاپی بسازند و از طریق Google Play توزیع کنند، و یافتن و نصب آنها را برای کاربران در دستگاههایشان آسان میکنند. درست مانند سایر برنامهها، میتوانید خدمات چاپ را در هر زمان از طریق هوا بهروزرسانی کنید.
برنامه های مشتری می توانند از API های جدید برای اضافه کردن قابلیت های چاپ به برنامه های خود با حداقل تغییرات کد استفاده کنند. در بیشتر موارد، یک اقدام چاپی به نوار اقدام و یک رابط کاربری برای انتخاب موارد برای چاپ اضافه میکنید. همچنین میتوانید APIها را برای ایجاد کارهای چاپی، پرس و جو از مدیر چاپ برای وضعیت و لغو کارها پیادهسازی کنید. این به شما امکان میدهد تقریباً هر نوع محتوایی را چاپ کنید، از تصاویر و اسناد محلی گرفته تا دادههای شبکه یا نمای ارائهشده به بوم.
برای سازگاری گسترده، اندروید از PDF به عنوان فرمت فایل اصلی خود برای چاپ استفاده می کند. قبل از چاپ، برنامه شما باید یک نسخه PDF صفحه بندی شده مناسب از محتوای شما ایجاد کند. برای راحتی، API چاپ کلاسهای کمکی بومی و WebView را ارائه میکند تا به شما امکان میدهد با استفاده از APIهای طراحی استاندارد Android، PDF ایجاد کنید. اگر برنامه شما می داند که چگونه محتوا را ترسیم کند، می تواند به سرعت یک PDF برای چاپ ایجاد کند.
اکثر دستگاههای دارای Android 4.4 شامل Google Cloud Print از پیش نصب شده به عنوان یک سرویس چاپ و همچنین چندین برنامه Google هستند که از چاپ پشتیبانی میکنند، از جمله Chrome، Drive، Gallery و QuickOffice.
چارچوب دسترسی به ذخیره سازی
یک چارچوب جدید دسترسی به فضای ذخیرهسازی، مرور و باز کردن اسناد، تصاویر و سایر فایلها را در تمامی ارائهدهندگان ذخیرهسازی اسناد دلخواه برای کاربران آسان میکند. یک رابط کاربری ساده و استاندارد به کاربران این امکان را میدهد که فایلها را مرور کنند و به موارد اخیر به روشی ثابت در بین برنامهها و ارائهدهندگان دسترسی داشته باشند.
سرویسهای ذخیرهسازی ابری یا محلی میتوانند با پیادهسازی یک کلاس ارائهدهنده اسناد جدید که خدمات آنها را محصور میکند، در این اکوسیستم شرکت کنند. کلاس ارائه دهنده شامل تمام API های مورد نیاز برای ثبت ارائه دهنده در سیستم و مدیریت مرور، خواندن و نوشتن اسناد در ارائه دهنده است. ارائهدهنده سند میتواند به کاربران امکان دسترسی به هر گونه داده از راه دور یا محلی را بدهد که میتواند به صورت فایل نمایش داده شود - از متن، عکس، و کاغذدیواری گرفته تا ویدیو، صدا و غیره.
اگر یک ارائهدهنده سند برای یک سرویس ابری یا محلی میسازید، میتوانید آن را به عنوان بخشی از برنامه Android موجود خود به کاربران تحویل دهید. پس از دانلود و نصب برنامه، کاربران از هر برنامه ای که در چارچوب شرکت می کند، به سرویس شما دسترسی فوری خواهند داشت. این می تواند به شما کمک کند تا در معرض دید و تعامل کاربر قرار بگیرید، زیرا کاربران خدمات شما را راحت تر پیدا می کنند.
اگر یک برنامه مشتری ایجاد می کنید که فایل ها یا اسناد را مدیریت می کند، می توانید با استفاده از CREATE_DOCUMENT یا اهداف OPEN_DOCUMENT جدید برای باز کردن یا ایجاد فایل ها، با چارچوب دسترسی به فضای ذخیره سازی ادغام کنید - سیستم به طور خودکار رابط کاربری استاندارد را برای مرور اسناد، از جمله همه ارائه دهندگان اسناد موجود، نمایش می دهد. .
می توانید برنامه مشتری خود را یک بار، برای همه ارائه دهندگان، بدون کد خاص فروشنده، یکپارچه کنید. همانطور که کاربران ارائه دهندگان را اضافه یا حذف می کنند، بدون نیاز به تغییرات یا به روز رسانی در کد شما، همچنان از برنامه شما به خدمات مورد نظر خود دسترسی خواهند داشت.
چارچوب دسترسی به ذخیرهسازی با هدف GET_CONTENT موجود یکپارچه شده است، بنابراین کاربران همچنین به تمام محتوای قبلی و منابع داده خود از رابط کاربری سیستم جدید برای مرور دسترسی دارند. برنامهها میتوانند به استفاده از GET_CONTENT بهعنوان راهی برای اجازه دادن به کاربران برای وارد کردن دادهها ادامه دهند. چارچوب دسترسی به فضای ذخیرهسازی و رابط کاربری سیستم برای مرور، یافتن و وارد کردن دادههای خود را از طیف وسیعتری از منابع برای کاربران آسانتر میکند.
اکثر دستگاههای دارای Android 4.4 شامل Google Drive و فضای ذخیرهسازی محلی هستند که بهعنوان ارائهدهنده سند از پیش ادغام شدهاند، و برنامههای Google که با فایلها کار میکنند نیز از چارچوب جدید استفاده میکنند.
سنسورهای کم مصرف
دسته بندی سنسور
اندروید 4.4 پشتیبانی پلتفرم را برای دستهبندی حسگرهای سختافزاری معرفی میکند، بهینهسازی جدیدی که میتواند انرژی مصرف شده توسط فعالیتهای سنسور را بهطور چشمگیری کاهش دهد.
با دستهبندی حسگرها، Android با سختافزار دستگاه کار میکند تا رویدادهای حسگر را بهصورت دستهای بهطور کارآمد جمعآوری و ارائه کند، نه اینکه بهصورت جداگانه در صورت شناسایی آنها. این به پردازنده برنامه دستگاه اجازه میدهد تا زمانی که دستهها تحویل داده شوند، در حالت غیرفعال با مصرف کم باقی بماند. میتوانید با استفاده از شنونده رویداد استاندارد، رویدادهای دستهای را از هر حسگری درخواست کنید، و میتوانید فاصله زمانی دریافت دستهها را کنترل کنید. شما همچنین می توانید درخواست تحویل فوری رویدادها بین چرخه های دسته ای کنید.
دسته بندی سنسور برای موارد استفاده کم مصرف و طولانی مدت مانند تناسب اندام، ردیابی مکان، نظارت و موارد دیگر ایده آل است. این می تواند برنامه شما را کارآمدتر کند و به شما امکان می دهد رویدادهای حسگر را به طور پیوسته ردیابی کنید - حتی وقتی صفحه نمایش خاموش است و سیستم در خواب است.
دستهبندی حسگر در حال حاضر در Nexus 5 در دسترس است، و ما در حال کار با شرکای چیپست خود هستیم تا آن را در اسرع وقت به دستگاههای بیشتری برسانیم.
ردیاب گام و گام شمار
اندروید 4.4 همچنین پشتیبانی پلتفرمی را برای دو حسگر ترکیبی جدید - آشکارساز گام و گام شمار - اضافه میکند که به برنامه شما اجازه میدهد هنگام راه رفتن، دویدن یا بالا رفتن از پلهها مراحل را ردیابی کند. این سنسورهای جدید در سخت افزار برای مصرف انرژی کم پیاده سازی شده اند.
ردیاب گام ورودی شتاب سنج را تجزیه و تحلیل می کند تا تشخیص دهد که کاربر چه زمانی قدمی برداشته است، سپس با هر مرحله یک رویداد را آغاز می کند. شمارنده گام تعداد کل مراحل را از زمان آخرین راهاندازی مجدد دستگاه ردیابی میکند و با هر تغییر در تعداد گامها، رویدادی را راهاندازی میکند. از آنجایی که مدیریت منطق و حسگر در پلتفرم و سخت افزار زیرین آن تعبیه شده است، نیازی به حفظ الگوریتم های تشخیص خود در برنامه خود ندارید.
سنسورهای تشخیص مرحله و شمارنده در Nexus 5 در دسترس هستند و ما با شرکای چیپست خود کار می کنیم تا آنها را در اسرع وقت به دستگاه های جدید بیاوریم.
ارائه دهنده پیامک
اگر یک برنامه پیامرسانی ایجاد کردهاید که از SMS یا MMS استفاده میکند، اکنون میتوانید از یک ارائهدهنده پیامک مشترک و APIهای جدید برای مدیریت ذخیرهسازی و بازیابی پیامهای برنامه خود استفاده کنید. ارائهدهنده پیامک و APIهای جدید یک مدل تعامل استاندارد برای همه برنامههایی که پیامهای SMS یا MMS را مدیریت میکنند، تعریف میکنند.
اندروید 4.4 همراه با ارائه دهنده و API های جدید، معنای جدیدی را برای دریافت پیام و نوشتن به ارائه دهنده معرفی می کند. وقتی پیامی دریافت میشود، سیستم آن را مستقیماً به برنامه پیامرسانی پیشفرض کاربر با استفاده از هدف جدید SMS_DELIVER هدایت میکند. سایر برنامه ها همچنان می توانند با استفاده از هدف SMS_RECEIVED به پیام های دریافتی گوش دهند. همچنین، اکنون سیستم تنها به برنامه پیشفرض اجازه میدهد تا دادههای پیام را برای ارائهدهنده بنویسد، اگرچه سایر برنامهها میتوانند در هر زمان بخوانند. برنامههایی که پیشفرض کاربر نیستند همچنان میتوانند پیام ارسال کنند - سیستم از طرف برنامه آن پیامها را برای ارائهدهنده مینویسد تا کاربران بتوانند آنها را در برنامه پیشفرض ببینند.
ارائه دهنده و معنایی جدید به بهبود تجربه کاربر در هنگام نصب چندین برنامه پیام رسانی کمک می کند و به شما کمک می کند تا ویژگی های پیام رسانی جدیدی را با API های کاملاً پشتیبانی شده و سازگار با جلو ایجاد کنید.
روش های جدید برای ساخت اپلیکیشن های زیبا
حالت فراگیر تمام صفحه
اکنون برنامههای شما میتوانند از هر پیکسل روی صفحه دستگاه برای نمایش محتوای شما و ثبت رویدادهای لمسی استفاده کنند. Android 4.4 یک حالت غوطه ور تمام صفحه جدید اضافه می کند که به شما امکان می دهد رابط های کاربری تمام صفحه را ایجاد کنید که از لبه به لبه بر روی تلفن ها و تبلت ها می رسد و تمام رابط کاربری سیستم مانند نوار وضعیت و نوار ناوبری را پنهان می کند . این برای محتوای بصری غنی مانند عکس ها، فیلم ها، نقشه ها، کتاب ها و بازی ها ایده آل است.
در حالت جدید، رابط کاربری سیستم پنهان میماند، حتی زمانی که کاربران در حال تعامل با برنامه یا بازی شما هستند - میتوانید رویدادهای لمسی را از هر نقطه در سراسر صفحه ضبط کنید، حتی مناطقی که در غیر این صورت توسط نوارهای سیستم اشغال میشدند. این یک راه عالی برای ایجاد یک رابط کاربری بزرگتر، غنی تر و همه جانبه تر در برنامه یا بازی خود و همچنین کاهش حواس پرتی بصری به شما می دهد.
برای اطمینان از اینکه کاربران همیشه از حالت تمام صفحه همه جانبه به رابط کاربری سیستم دسترسی دارند، اندروید 4.4 از یک حرکت جدید پشتیبانی می کند – در حالت غوطه ور، یک کشیدن لبه از بالا یا پایین صفحه اکنون رابط کاربری سیستم را نشان می دهد.
برای بازگشت به حالت همهجانبه، کاربران می توانند صفحه را خارج از محدوده نوار لمس کنند یا برای مدت کوتاهی منتظر بمانند تا نوارها به صورت خودکار مخفی شوند. برای تجربه کاربری ثابت، ژست جدید با روش های قبلی پنهان کردن نوار وضعیت نیز کار می کند.
چارچوب انتقال برای انیمیشن صحنه ها
اکثر برنامهها جریانهای خود را حول چندین حالت کلیدی رابط کاربری ساختار میدهند که اقدامات مختلفی را نشان میدهند. بسیاری از برنامهها همچنین از انیمیشن استفاده میکنند تا به کاربران کمک کنند تا پیشرفت خود را از طریق آن حالتها و اقدامات موجود در هر کدام درک کنند. برای آسانتر ساختن انیمیشنهای با کیفیت بالا در برنامهتان، Android 4.4 چارچوب انتقال جدیدی را معرفی میکند.
چارچوب انتقال به شما امکان میدهد صحنهها را تعریف کنید، معمولاً سلسلهمراتبها و انتقالها را مشاهده کنید، که نحوه متحرک کردن یا تبدیل صحنهها را هنگام ورود کاربر یا خروج از آنها توصیف میکند. میتوانید از چندین نوع انتقال از پیش تعریفشده برای متحرک کردن صحنههای خود بر اساس ویژگیهای خاص، مانند محدوده طرحبندی یا قابلیت مشاهده استفاده کنید. همچنین یک نوع انتقال خودکار وجود دارد که به طور خودکار نماها را در حین تغییر صحنه محو میکند، حرکت میدهد و اندازهها را تغییر میدهد. علاوه بر این، میتوانید انتقالهای سفارشی را تعریف کنید که ویژگیهایی را که بیشترین اهمیت را برای برنامه شما دارند، متحرک میکنند، و در صورت نیاز میتوانید سبکهای انیمیشن خود را اضافه کنید.
با استفاده از چارچوب انتقال، میتوانید بدون نیاز به تعریف صحنهها، تغییرات را در رابط کاربری خود در لحظه متحرک کنید . برای مثال، میتوانید یک سری تغییرات را در سلسلهمراتب view ایجاد کنید و سپس TransitionManager را بهطور خودکار یک انتقال تاخیری را روی آن تغییرات اجرا کنید.
هنگامی که ترانزیشن ها را تنظیم کردید، فراخوانی آن ها از برنامه خود ساده است. برای مثال، میتوانید یک متد را برای شروع یک انتقال فراخوانی کنید، تغییرات مختلفی را در سلسلهمراتب نمای خود ایجاد کنید، و در فریم بعدی انیمیشنها بهطور خودکار شروع میشوند که تغییراتی را که مشخص کردهاید متحرک میکنند.
برای کنترل سفارشی روی انتقال هایی که بین صحنه های خاص در جریان برنامه شما اجرا می شوند، می توانید از TransitionManager استفاده کنید. TransitionManager به شما امکان می دهد رابطه بین صحنه ها و انتقال هایی که برای تغییرات صحنه خاص اجرا می شوند را تعریف کنید.
یک ظاهر طراحی UI سیستم شفاف
برای اینکه بیشترین تأثیر را از محتوای خود داشته باشید، اکنون میتوانید از سبکها و تمهای پنجره جدید برای درخواست رابط کاربری شفاف سیستم ، از جمله نوار وضعیت و نوار پیمایش استفاده کنید. برای اطمینان از خوانایی دکمههای نوار ناوبری یا اطلاعات نوار وضعیت، گرادیانهای ظریف در پشت نوارهای سیستم نشان داده میشوند. یک مورد استفاده معمولی، اپلیکیشنی است که باید روی کاغذدیواری نمایش داده شود.
دسترسی پیشرفته به اعلان ها
سرویسهای شنونده اعلان اکنون میتوانند اطلاعات بیشتری درباره اعلانهای دریافتی که با استفاده از APIهای سازنده اعلان ساخته شدهاند، ببینند. سرویسهای شنونده میتوانند به فعالیتهای یک اعلان و همچنین فیلدهای اضافی جدید - متن، نماد، تصویر، پیشرفت، زمانسنج و بسیاری موارد دیگر دسترسی داشته باشند تا اطلاعات پاکتری درباره اعلان استخراج کنند و اطلاعات را به روشی متفاوت ارائه کنند.
Chromium WebView
Android 4.4 شامل اجرای کاملاً جدیدی از WebView است که مبتنی بر Chromium است. Chromium WebView جدیدترین استانداردهای پشتیبانی، عملکرد و سازگاری را برای ایجاد و نمایش محتوای مبتنی بر وب به شما ارائه می دهد.
Chromium WebView پشتیبانی گسترده ای از HTML5، CSS3 و JavaScript ارائه می دهد. این برنامه از اکثر ویژگیهای HTML5 موجود در Chrome برای Android 30 پشتیبانی میکند. همچنین نسخه بهروز شده موتور جاوا اسکریپت (V8) را ارائه میکند که عملکرد جاوا اسکریپت را بهطور چشمگیری بهبود میبخشد.
علاوه بر این، Chromium WebView جدید از اشکال زدایی از راه دور با استفاده از ابزارهای توسعه دهنده Chrome پشتیبانی می کند. برای مثال، میتوانید از Chrome DevTools در دستگاه توسعه خود برای بازرسی، اشکالزدایی، و تجزیه و تحلیل محتوای WebView خود در دستگاه تلفن همراه استفاده کنید.
Chromium WebView جدید در همه دستگاههای سازگار دارای Android نسخه ۴.۴ و بالاتر گنجانده شده است. میتوانید فوراً و با حداقل تغییرات در برنامهها و محتوای موجود از WebView جدید استفاده کنید. در بیشتر موارد، محتوای شما به صورت یکپارچه به اجرای جدید منتقل می شود.
قابلیت های رسانه های جدید
ضبط صفحه نمایش
اکنون میتوانید مستقیماً از دستگاه Android خود ویدیوی با کیفیت بالا از برنامه خود ایجاد کنید. Android 4.4 پشتیبانی از ضبط صفحه را اضافه می کند و یک ابزار ضبط صفحه را ارائه می دهد که به شما امکان می دهد ضبط را در دستگاهی که از طریق USB به محیط Android SDK شما متصل است شروع و متوقف کنید. این یک راه عالی جدید برای ایجاد راهنما و آموزش برای برنامه شما، مواد آزمایشی، ویدیوهای بازاریابی و موارد دیگر است.
با ابزار ضبط صفحه، می توانید از محتویات صفحه دستگاه خود فیلم بگیرید و ویدیو را به صورت فایل MP4 در دستگاه ذخیره کنید. میتوانید با هر رزولوشن و میزان بیتی که میخواهید ضبط کنید، و خروجی نسبت تصویر نمایشگر را حفظ میکند. بهطور پیشفرض، ابزار، وضوحی برابر یا نزدیک به وضوح صفحه نمایش دستگاه در جهت فعلی انتخاب میکند. پس از اتمام ضبط، می توانید ویدیو را مستقیماً از دستگاه خود به اشتراک بگذارید یا فایل MP4 را برای پس از تولید به رایانه میزبان خود بکشید.
اگر برنامه شما ویدیو یا محتوای محافظت شده دیگری را پخش میکند که نمیخواهید توسط ضبط کننده صفحه ضبط شود، میتوانید از SurfaceView.setSecure() برای علامتگذاری محتوا به عنوان امن استفاده کنید.
با استفاده از دستور adb shell screenrecord می توانید از طریق ابزار adb موجود در Android SDK به ضبط صفحه دسترسی داشته باشید. همچنین می توانید آن را از طریق logcat در اندروید استودیو راه اندازی کنید.
تغییر وضوح از طریق پخش تطبیقی
Android 4.4 پشتیبانی رسمی از پخش تطبیقی را در چارچوب رسانه اندروید به ارمغان می آورد. پخش تطبیقی یکی از ویژگیهای اختیاری رمزگشاهای ویدئویی برای MPEG-DASH و سایر فرمتها است که تغییر یکپارچه رزولوشن را در حین پخش امکانپذیر میسازد. مشتری می تواند شروع به تغذیه فریم های ویدئویی ورودی رمزگشا با وضوح جدید کند و وضوح بافرهای خروجی به طور خودکار و بدون شکاف قابل توجهی تغییر می کند.
تغییر رزولوشن در Android 4.4 به برنامههای رسانه اجازه میدهد تا تجربه پخش ویدیویی بسیار بهتری را ارائه دهند. برنامهها میتوانند با استفاده از APIهای موجود، پشتیبانی از پخش تطبیقی را در زمان اجرا بررسی کنند و با استفاده از APIهای جدید معرفیشده در Android 4.4 ، تغییر وضوح را اجرا کنند.
رمزگذاری رایج برای DASH
اندروید اکنون از رمزگذاری مشترک (CENC) برای MPEG-DASH پشتیبانی میکند که یک طرح استاندارد و چند پلتفرمی DRM برای مدیریت محتوای محافظتی ارائه میکند. برنامهها میتوانند از طریق چارچوب مدولار DRM Android و APIهای پلتفرم برای پشتیبانی از DASH از CENC استفاده کنند.
HTTP Live Streaming
Android 4.4 پشتیبانی از HTTP Live Streaming (HLS) پلتفرم را به یک ابر مجموعه از نسخه 7 مشخصات HLS (نسخه 4 پروتکل) به روز می کند. برای جزئیات به پیش نویس IETF مراجعه کنید.
تونل صوتی به DSP
برای پخش صدای با کارایی بالا و کم مصرف، اندروید 4.4 پشتیبانی پلتفرمی را برای تونل زدن صدا به پردازنده سیگنال دیجیتال (DSP) در چیپست دستگاه اضافه می کند. با تونل زنی، رمزگشایی صدا و جلوه های خروجی به DSP بارگذاری می شوند و پردازنده برنامه را کمتر بیدار می کند و باتری کمتری مصرف می کند.
تونل سازی صدا می تواند به طور چشمگیری عمر باتری را برای مواردی مانند گوش دادن به موسیقی از طریق هدست با صفحه خاموش بهبود بخشد . به عنوان مثال، با تونل کردن صدا، Nexus 5 کل زمان پخش صدای خارج از شبکه را تا 60 ساعت ارائه میکند که افزایش بیش از 50 درصدی نسبت به صدای غیر تونلشده دارد.
برنامههای رسانهای میتوانند بدون نیاز به تغییر کد از تونلسازی صوتی در دستگاههای پشتیبانیشده استفاده کنند. این سیستم از تونل زدن برای بهینه سازی پخش صدا در هر زمان که در دستگاه موجود است استفاده می کند.
تونل سازی صوتی نیاز به پشتیبانی در سخت افزار دستگاه دارد. در حال حاضر تونل صوتی در Nexus 5 در دسترس است و ما در حال کار با شرکای چیپست خود هستیم تا در اسرع وقت آن را در دستگاه های بیشتری در دسترس قرار دهیم.
مانیتورینگ صوتی
برنامهها میتوانند از ابزارهای نظارتی جدید در جلوه ویژوالایزر برای دریافت بهروزرسانیها در سطوح اوج و RMS هر صدایی که در حال حاضر روی دستگاه پخش میشود، استفاده کنند. به عنوان مثال، می توانید از این به طور خلاقانه در بصری سازهای موسیقی یا برای اجرای اندازه گیری پخش در یک پخش کننده رسانه استفاده کنید.
تقویت کننده صدا
برنامههای پخش رسانه میتوانند با استفاده از جلوه جدید LoudnessEnhancer، که به عنوان کمپرسور با ثابتهای زمانی که مخصوص گفتار تنظیم شدهاند ، بلندی صدای محتوای گفتاری را افزایش دهند .
مهرهای زمانی صوتی برای بهبود همگام سازی AV
چارچوب صوتی اکنون می تواند برای همگام سازی صوتی و تصویری بهتر، مهرهای زمانی ارائه را از خروجی صوتی HAL به برنامه ها گزارش کند. مُهرهای زمانی صوتی به برنامه شما اجازه میدهد تعیین کند که یک فریم صوتی خاص چه زمانی خارج از دستگاه به کاربر ارائه میشود (یا ارائه شده است). میتوانید از اطلاعات مهر زمانی برای همگامسازی دقیقتر صدا با فریمهای ویدیو استفاده کنید.
Wi-Fi Certified Miracast™
دستگاههای Android 4.4 اکنون میتوانند گواهینامه Wi-Fi Alliance Wi-Fi Display را به عنوان سازگار با Miracast دریافت کنند. برای کمک به آزمایش، یک گزینه جدید توسعه دهنده Wireless Display، کنترل های پیکربندی پیشرفته و تنظیمات گواهینامه Wireless Display را در معرض دید قرار می دهد. میتوانید در تنظیمات > گزینههای برنامهنویس > گواهینامه نمایش بیسیم به این گزینه دسترسی داشته باشید. Nexus 5 یک دستگاه نمایشگر بی سیم دارای گواهی Miracast است.
محاسبه RenderScript
بهبود عملکرد مداوم
وقتی برنامههای شما از RenderScript استفاده میکنند، بدون نیاز به کامپایل مجدد، از تنظیم عملکرد مداوم در زمان اجرا RenderScript بهره میبرند. نمودار سمت راست، افزایش عملکرد اندروید 4.4 را در دو چیپ ست محبوب نشان می دهد.
شتاب پردازنده گرافیکی
هر برنامهای که از RenderScript در دستگاه پشتیبانیشده استفاده میکند از شتاب GPU بدون تغییر کد یا کامپایل مجدد بهره میبرد. از زمانی که Nexus 10 برای اولین بار شتاب GPU RenderScript را معرفی کرد، دیگر شرکای سخت افزاری پشتیبانی اضافه کرده اند.
اکنون با Android 4.4 ، شتاب GPU در Nexus 5، و همچنین Nexus 4، Nexus 7 (2013) و Nexus 10 در دسترس است، و ما با شرکای خود کار می کنیم تا آن را در اسرع وقت به دستگاه های بیشتری برسانیم.
RenderScript در Android NDK
اکنون می توانید از RenderScript مستقیماً از کد اصلی خود استفاده کنید. یک API جدید C++ در Android Native Development Kit (NDK) به شما امکان میدهد به همان عملکرد RenderScript موجود از طریق APIهای فریمورک، از جمله ذاتی اسکریپت، هستههای سفارشی و موارد دیگر دسترسی داشته باشید.
اگر کارهای بزرگ و پرفورمنس در کد بومی دارید، می توانید آن وظایف را با استفاده از RenderScript انجام دهید و آنها را با کد بومی خود ادغام کنید. RenderScript با پشتیبانی خودکار از پردازندههای چند هستهای، پردازندههای گرافیکی و سایر پردازندهها، عملکرد عالی را در طیف وسیعی از دستگاهها ارائه میکند.
وقتی برنامهای میسازید که از RenderScript از طریق NDK استفاده میکند، میتوانید آن را در هر دستگاهی که Android نسخه ۲.۲ یا بالاتر دارد، توزیع کنید، درست مانند کتابخانه پشتیبانی RenderScript که برای APIهای فریمورک در دسترس است.
گرافیک
GLES2.0 SurfaceFlinger
Android 4.4 SurfaceFlinger خود را از OpenGL ES 1.0 به OpenGL ES 2.0 ارتقا می دهد.
پشتیبانی New Hardware Composer برای نمایشگرهای مجازی
آخرین نسخه Android Hardware Composer، HWComposer 1.3، از ترکیب سخت افزاری یک نمایشگر مجازی علاوه بر نمایشگر اصلی، خارجی (به عنوان مثال HDMI) پشتیبانی می کند و قابلیت همکاری OpenGL ES را بهبود بخشیده است.
انواع جدید اتصال
پروفایل های بلوتوث جدید
Android 4.4 از دو نمایه بلوتوث جدید پشتیبانی میکند تا برنامهها از طیف گستردهتری از تعاملات کم مصرف و رسانه پشتیبانی کنند. بلوتوث HID روی GATT (HOGP) به برنامهها پیوندی با تأخیر کم با دستگاههای جانبی کم مصرف مانند ماوس، جوی استیک و صفحهکلید میدهد. بلوتوث MAP به برنامههای شما امکان میدهد پیامها را با دستگاهی در نزدیکی خود مبادله کنند، برای مثال یک پایانه خودرو برای استفاده از هندزفری یا یک دستگاه تلفن همراه دیگر. به عنوان یک افزونه برای بلوتوث AVRCP 1.3 ، کاربران اکنون می توانند صدای مطلق را از دستگاه های بلوتوث خود روی سیستم تنظیم کنند.
پشتیبانی پلتفرم برای HOGP، MAP و AVRCP بر روی پشته بلوتوث Bluedroid که توسط Google و Broadcom در اندروید 4.2 معرفی شده است، ساخته شده است. پشتیبانی فوراً در دستگاههای Nexus و سایر دستگاههای سازگار با Android که قابلیتهای بلوتوث سازگار را ارائه میکنند در دسترس است.
IR Blasters
Android 4.4 پشتیبانی پلتفرمی را برای بلسترهای IR داخلی به همراه یک API و سرویس سیستم جدید معرفی میکند که به شما امکان میدهد برنامههایی را برای استفاده از آنها ایجاد کنید.
با استفاده از API جدید، میتوانید برنامههایی بسازید که به کاربران اجازه میدهد تلویزیونها، تیونرها، سوئیچها و سایر دستگاههای الکترونیکی اطراف را از راه دور کنترل کنند. API به برنامه شما اجازه میدهد بررسی کند که آیا تلفن یا رایانه لوحی دارای فرکانس مادون قرمز است یا خیر، فرکانسهای حامل آن را جستجو کند و سپس سیگنالهای مادون قرمز ارسال کند.
از آنجایی که API در همه دستگاههای Android دارای Android نسخه 4.4 یا بالاتر استاندارد است، برنامه شما میتواند بدون نوشتن کد یکپارچهسازی سفارشی از وسیعترین طیف ممکن از فروشندگان پشتیبانی کند.
پشتیبانی از Wi-Fi TDLS
Android 4.4 با پشتیبانی از Wi-Fi Tunneled Direct Link Setup (TDLS) روشی بینظیر برای پخش سریعتر رسانه و سایر دادهها بین دستگاههایی که قبلاً در همان شبکه Wi-Fi هستند، معرفی میکند.
دسترسی
تنظیمات سرتاسر سیستم برای زیرنویسهای بسته
Android 4.4 اکنون با افزودن تنظیمات برگزیده در سراسر سیستم برای Closed Captioning از تجربه دسترسی بهتر در بین برنامهها پشتیبانی میکند. کاربران میتوانند به تنظیمات > دسترسپذیری > زیرنویسها بروند تا تنظیمات برگزیده زیرنویس جهانی را تنظیم کنند، مانند اینکه آیا زیرنویسها نشان داده شوند و از چه زبانی، اندازه متن و سبک متن استفاده کنند.
برنامههایی که از ویدیو استفاده میکنند اکنون میتوانند به تنظیمات زیرنویس کاربر دسترسی داشته باشند و ارائه را مطابق با اولویتهای کاربر تنظیم کنند . یک API مدیریت شرح جدید به شما امکان می دهد تنظیمات برگزیده زیرنویس کاربر را بررسی و نظارت کنید. مدیر زیرنویس، وضعیت زیرنویس ترجیحی کاربر و همچنین محلی، فاکتور مقیاسبندی و سبک متن ترجیحی را در اختیار شما قرار میدهد. سبک متن شامل رنگهای پیشزمینه و پسزمینه، ویژگیهای لبه و فونت است.
علاوه بر این، برنامههایی که از VideoView استفاده میکنند میتوانند از یک API جدید برای ارسال یک جریان زیرنویس به همراه یک جریان ویدیویی برای رندر استفاده کنند. این سیستم به طور خودکار نمایش شرحها را بر روی فریمهای ویدئویی مطابق با تنظیمات سیستم کاربر انجام میدهد. در حال حاضر، VideoView از نمایش خودکار شرحها فقط در قالب WebVTT پشتیبانی میکند.
همه برنامههایی که زیرنویسها را نشان میدهند باید مطمئن شوند که تنظیمات برگزیده زیرنویس در سرتاسر سیستم کاربر را بررسی میکنند و زیرنویسها را تا حد امکان نزدیک به آن تنظیمات برگزیده ارائه میکنند. برای بینش بیشتر در مورد اینکه ترکیبهای خاصی از تنظیمات چگونه باید به نظر برسند، میتوانید به پیشنمایش زیرنویسها در زبانها، اندازهها و سبکهای مختلف درست در برنامه تنظیمات نگاه کنید.
APIهای دسترسی پیشرفته
Android 4.4 APIهای دسترسی را برای پشتیبانی از توصیف ساختاری و معنایی دقیقتر و مشاهده عناصر روی صفحه گسترش میدهد. با API های جدید، توسعه دهندگان می توانند کیفیت بازخورد قابل دسترسی را با ارائه خدمات دسترس پذیری با اطلاعات بیشتر در مورد عناصر روی صفحه، بهبود بخشند.
در گرههای دسترسی، توسعهدهندگان اکنون میتوانند تعیین کنند که آیا یک گره یک پنجره بازشو است یا نه، نوع ورودی آن را دریافت کنند و موارد دیگر. همچنین می توانید از API های جدید برای کار با گره هایی که حاوی اطلاعات شبکه مانند لیست ها و جداول هستند استفاده کنید. به عنوان مثال، اکنون می توانید اقدامات جدید پشتیبانی شده، اطلاعات مجموعه، حالت های منطقه زنده و موارد دیگر را مشخص کنید.
رویدادهای دسترسپذیری جدید به توسعهدهندگان اجازه میدهد تا تغییراتی را که در محتوای پنجره روی میدهد با دقت بیشتری دنبال کنند و اکنون میتوانند به تغییرات در حالت کاوش لمسی در دستگاه گوش دهند.
پشتیبانی از کاربران بین المللی
آینهسازی قابل ترسیم برای مناطق RTL
اگر برنامه شما کاربرانی را هدف قرار میدهد که از اسکریپتهای RTL استفاده میکنند، میتوانید از یک API جدید استفاده کنید تا اعلام کنید زمانی که تنظیمات محلی کاربر شامل یک زبان RTL باشد، یک قرعه کشی باید به صورت خودکار منعکس شود .
اعلام کردن قابل ترسیم بهعنوان انعکاسی خودکار به شما کمک میکند از تکرار داراییها در برنامه خود جلوگیری کنید و اندازه APK را کاهش دهید. وقتی نقشههایی دارید که قابل استفاده مجدد برای ارائههای LTR و RTL هستند، میتوانید نسخههای پیشفرض را بهعنوان آینهبندی خودکار اعلام کنید و سپس آن Drawableها را از منابع RTL خود حذف کنید.
میتوانید انواع مختلفی از قرعهکشیها را بهعنوان انعکاس خودکار در کد برنامهتان اعلام کنید، مانند بیت مپ، نه وصله، لایه، فهرست وضعیت و سایر موارد ترسیمی. همچنین می توانید با استفاده از یک ویژگی جدید، یک drawable را در فایل های منبع خود به عنوان آینه خودکار اعلام کنید.
اجباری چیدمان RTL
برای آسانتر کردن آزمایش و اشکالزدایی مسائل مربوط به انعکاس طرحبندی بدون جابجایی به زبان RTL، Android یک گزینه توسعهدهنده جدید برای اجبار جهت چیدمان RTL در همه برنامهها دارد.
گزینه Force RTL layout دستگاه را برای همه مناطق به طرح RTL تغییر می دهد و متن را به زبان فعلی شما نمایش می دهد. این می تواند به شما کمک کند بدون نیاز به نمایش برنامه به زبان RTL، مشکلات طرح بندی را در سراسر برنامه خود پیدا کنید. می توانید در تنظیمات > گزینه های برنامه نویس > جهت طرح بندی RTL اجباری به این گزینه دسترسی داشته باشید.
پیشرفت های امنیتی
SELinux (حالت اجباری)
Android 4.4 پیکربندی SELinux خود را از "مجاز" به "اجرا" به روز می کند. این به این معنی است که تخلفات احتمالی خط مشی در دامنه SELinux که دارای خط مشی اجرایی است مسدود می شود.
الگوریتم های رمزنگاری بهبود یافته
اندروید با اضافه کردن پشتیبانی از دو الگوریتم رمزنگاری دیگر، امنیت خود را بیشتر بهبود بخشیده است. پشتیبانی از الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) به ارائه دهنده کلیدی در حال بهبود امنیت امضای دیجیتال ، قابل استفاده در سناریوهایی مانند امضای برنامه یا اتصال داده اضافه شده است. عملکرد مشتق کلیدی Scrypt برای محافظت از کلیدهای رمزنگاری مورد استفاده برای رمزگذاری دیسک کامل اجرا می شود.
پیشرفت های دیگر
در دستگاه های Multiuser ، VPN ها اکنون برای هر کاربر اعمال می شوند. این امر می تواند به کاربر اجازه دهد تا تمام ترافیک شبکه را از طریق VPN مسیریابی کند بدون اینکه سایر کاربران در دستگاه تأثیر بگذارد. همچنین ، Android اکنون از Fortify_Source سطح 2 پشتیبانی می کند ، و تمام کد ها با آن محافظت ها گردآوری می شوند. fortify_source برای همکاری با Clang بهبود یافته است.
ابزاری برای تجزیه و تحلیل استفاده از حافظه
شبه
ابزاری جدید به نام ProCSTATS به شما کمک می کند تا منابع حافظه را که از برنامه شما استفاده می کند ، تجزیه و تحلیل کنید ، و همچنین منابع مورد استفاده سایر برنامه ها و خدمات در حال اجرا بر روی سیستم.
ProcStats نحوه اجرای برنامه ها با گذشت زمان را پیگیری می کند ، و داده هایی را در مورد مدت زمان اجرای آنها و استفاده از حافظه ارائه می دهد تا به تعیین میزان عملکرد آنها کمک کند. این مهمترین چیز برای برنامه هایی است که سرویس هایی را که در پس زمینه اجرا می شوند ، شروع می کنند ، زیرا به شما امکان می دهد نظارت کنید که چه مدت در حال اجرا هستند و چه مقدار رم در حین انجام این کار استفاده می کنند. ProcStats همچنین داده های مربوط به برنامه های پیش زمینه در مورد استفاده از حافظه را با گذشت زمان جمع آوری می کند تا مشخصات حافظه کلی برنامه را تعیین کند.
ProcStats می تواند به شما در شناسایی خدمات پس زمینه شروع شده توسط برنامه خود کمک کند. شما می توانید پیگیری کنید که این سرویس ها چه مدت به کار خود ادامه می دهند و چه مقدار رم در هنگام انجام این کار از آنها استفاده می کنند. ProcStats همچنین به شما امکان می دهد برنامه خود را در حالی که در پیش زمینه قرار دارد ، با استفاده از حافظه خود در طول زمان برای تعیین مشخصات حافظه کلی آن استفاده کنید.
شما می توانید از ابزار ADB موجود در Android SDK ، ADB Shell Dumpsys Procstats به ProcStats دسترسی پیدا کنید. همچنین ، برای پروفایل در دستگاه ، به گزینه Developer Process Stats ، در زیر مراجعه کنید.
وضعیت حافظه روی دستگاه و پروفایل
Android 4.4 شامل یک گزینه جدید توسعه دهنده برای آسانتر کردن تجزیه و تحلیل مشخصات حافظه برنامه شما در حالی که روی هر دستگاه یا شبیه ساز کار می کند. به ویژه برای دیدن نحوه استفاده از برنامه از حافظه و اجرای دستگاه هایی با رم کم ، بسیار مفید است. می توانید در تنظیمات> گزینه های توسعه دهنده> آمار فرآیند به گزینه دسترسی پیدا کنید
گزینه Process Stats انواع مختلفی از معیارهای سطح بالا را در استفاده از حافظه برنامه خود ، بر اساس داده های جمع آوری شده با استفاده از سرویس جدید ProcStats به شما نشان می دهد. در صفحه اصلی می توانید خلاصه ای از وضعیت حافظه سیستم را مشاهده کنید. سبز نشان می دهد مقدار نسبی زمان صرف شده با استفاده از رم کم ، زرد نشانگر استفاده از رم متوسط است ، و قرمز نشانگر استفاده از رم بالا (بحرانی) است
در زیر خلاصه لیستی است که خلاصه بار حافظه هر برنامه را روی سیستم خلاصه می کند. برای هر برنامه ، یک نوار آبی نشان دهنده بار حافظه محاسبه شده نسبی (زمان اجرا x avg_pss) فرآیند آن است ، و یک درصد درصد نشان دهنده مقدار نسبی زمان صرف شده در پس زمینه است. شما می توانید لیست را فیلتر کنید تا فقط فرآیندهای پیش زمینه ، پیش زمینه یا ذخیره شده را نشان دهید و می توانید فرآیندهای سیستم را درج یا حذف کنید. همچنین می توانید مدت زمان داده های جمع آوری شده را به 3 ، 6 ، 12 یا 24 ساعت تغییر دهید و می توانید حافظه USS را درج یا حذف کنید.
برای نگاهی دقیق تر به استفاده از حافظه یک برنامه خاص در انزوا ، روی برنامه ضربه بزنید. برای هر برنامه ، اکنون می توانید خلاصه ای از حافظه مصرفی و درصد فاصله مجموعه را که برنامه در حال اجرا است مشاهده کنید. همچنین می توانید میانگین و حداکثر استفاده را در طول دوره جمع آوری و زیر خدمات برنامه و درصد زمانی که در حال اجرا بوده اند مشاهده کنید.
تجزیه و تحلیل برنامه خود با استفاده از داده ها در آمار فرآیند می تواند موضوعات را نشان دهد و بهینه سازی های احتمالی را برای برنامه شما نشان دهد. به عنوان مثال ، اگر برنامه شما در طی یک دوره زمانی طولانی تر از آنچه که باید یا از حافظه بیش از حد استفاده می کند ، می تواند اشکالات موجود در کد شما وجود داشته باشد که بتوانید برای بهبود عملکرد برنامه خود ، به خصوص هنگام کار بر روی دستگاه با رم کم ، حل کنید.