پنجشنبه, ۳۰ بهمن ۱۳۹۳
۱۶:۵۲
۱۸
ماه نوامبر سال گذشته، گوگل نسخه جدیدی از سیستمعامل موبایل خود را منتشر کرد که آخرین تلاش این شرکت برای بهینهسازی محبوبترین سیستم عامل دنیا بود. اکنون برخی گوشیهای هوشمند پرچمدار از برندهای بزرگ دنیا به این نسخه بهروز رسانی شدهاند. حال میتوان نگاهی دقیقتر به این نسخه از اندروید داشت.
همه کاربرانی که نسخه اندروید گوشی هوشمند خود را بهروز رسانی کردهاند، به خوبی میدانند که سیستم بهروز رسانی اندروید، بسیار طاقتفرسا و همراه با پیچیدگیهای زیاد است. شاید در این مورد، هم گوگل و هم اپل باید چیزهای زیادی از مایکروسافت فرا گیرند.
اما ما در اینجا قصد نقد سیستم بهروز رسانی اندروید را نداریم. هدف ما نگاهی از نزدیک به بهینهسازیهای صورت گرفته در این نسخه از اندروید در خصوص عملکرد این سیستم عامل و همچنین تأثیرات آن بر عمر باتری گوشیهای هوشمند است.
پیش از هر چیز باید این نکته را در نظر داشت که اکنون تنها تعدادی از گوشیهای هوشمند، پرچمدار اندروید به این نسخه از سیستم عامل بهروز رسانی شدهاند و هنوز راه زیادی در پیش است تا همه گوشیهای پرچمدار و به خصوص هوشمندهای جدید همچون Galaxy A به این نسخه بهروز رسانی شوند.
اما صرفنظر از روند بهروز رسانی، سؤال اصلی اینجاست که این بهروز رسانی چه تأثیری بر عملکرد گوشی هوشمند شما خواهد داشت؟
پاسخ این پرسش را باید در کامپایلهای ART و AOT و همچنین پروژه Volta جستجو کرد.
سیستم ART یا Android Runtime سیستمی است که از نسخه ۴. ۴ اندروید در اختیار کاربران است و در صورت تمایل میتواند فعال شود؛ اما در نسخه ۵ این سیستم و قابلیت به شکل پیش فرض فعال است. این سیستم جایگزین Davlik Runtime شده است و به عقیده تحلیلگران تأثیر بسیاری بر عملکرد سیستم عامل در گوشیهای هوشمند دارد.
در واقع Davlik از سیستم کامپایل JIT یا Just In Time برای تعامل با بایت کدهای جاوا در Appها استفاده میکند. این سیستم به دلیل وجود سختافزارهای با قدرت پردازش محدود در نسخههای قدیمیتر اندروید کارایی داشت، به ویژه به دلیل محدودیتهای رم و حافظه.
اما ART از سیستم کامپایل ahead-of-time یا AOT استفاده میکند که تمام بایت کدهای جاوای App را به جای هر بار با اجرای برنامه، یک بار به شکل کلی کامپایل میکند. از آنجا که در این یک بار تمامی کد Native در حافظه ذخیره میشود. در نتیجه، رد پای برنامهها در اندروید نسخه ۵ بسیار بیشتر است که با توجه به افزایش میزان حافظه و رم در گوشیهای جدید مشکل خاصی ایجاد نکرده و از آن سوی سرعت اجرای برنامهها و عملکرد سیستم عامل را تا حد زیادی بهبود میدهد.
این البته به این معناست که اجرای برنامه یا App برای بار اول کند است؛ اما در اجرای بعدی سرعت عملکرد برنامه به شدت افزایش میابد. گوگل همچنین اذعان دارد که با یک بار کامپایل کردن کد App و در یک زمان به شکل کلی، بهینهسازی قابل توجهی کد بایتهای جاوا صورت میگیرد که خود تأثیر ثانویهای بر عملکرد دارد. در نتیجه این امر مصرف انرژی باتری از سوی CPU نیز تا حد زیادی کاهش مییابد؛ زیرا پردازش کد تنها یک بار و کلی صورت میپذیرد.
سیستم ART همچنین از یک مکانیزم جدید و بهینه Garbage Collection (GC) برای اختصاص رم استفاده میکند. قبل از این سیستم GC مجبور به توقف اجرای کد برای اختصاص رم بود منجر به تعلیق و کندی اجرای برنامه یا آنچه گوگل Junk نامیده میشد. در سیستم ART این زمان مکث یا توقف به حداقل ممکن رسیده که در ترکیب با سیستم بهینه سازی اختصاص رم مجددا عملکرد سیستم عامل در اجرای برنامهها را تا حد زیادی بهبود میدهد.
اما در خصوص پروژه Volta باید گفت، گوگل بر افزایش عمر باتری گوشیهای هوشمند اندروید تمرکز کرده است. در اندروید نسخه ۵ شاهد حضور یک سیستم بهینه Battery Saver هستیم و همچنین App با نام Battery Historian به این منظور طراحی و تدوین شده است که به کاربران و برنامهنویسان نگاه بهتری در خصوص اینکه چه چیز منجر به مصرف شدید انرژی باتری است، ارائه کند، ولی در اینجا نیز توابع API هستند که منجر به بهینه شدن مصرف انرژی باتری در اندروید نسخه ۵ هستند.
به این ترتیب که تابع API با نام Job Scheduler تابع جدیدی است که به اندروید نسخه ۵ اضافه شده است که به برنامه نویسان اجازه میدهد، Taskهای مختلف را دسته بندی کرده و همه را در یک زمان مناسب اجرا کنند. وقتی این موضوع را در خصوص Taskهای پشت صحنه ارزیابی کنیم، متوجه میشویم این موضوع تا حد زیادی در کاهش مصرف انرژی از سوی CPU و مودم اثرگذار است. برای مثال Taskهای دستهبندی شده پشت صحنه تنها زمانی اجرا خواهند شد که گوشی در حال شارژ باشد. یا Taskهایی که نیاز به اینترنت دارند، تنها در زمانی که آنتندهی مناسب برای WiFi وجود داشته باشد اجرا شوند.
همه آنچه تا اینجا در خصوص اندروید نسخه ۵ گفته شد، موضوعاتی است که در نظر قابل توجه است؛ اما شاید در اجرا روی گوشیهای هوشمند متفاوت تأثیرات متفاوتی نیز داشته باشد، به گونهای که میتوان به سادگی دید که اجرای برنامهها بر روی Lollipop در بار اول نسبت به Kitkat بسیار کندتر است؛ اما اجرای بار دوم نیز هر چند سریعتر و روانتر است، ولی در گوشیهای مختلف باز هم این سرعت و عملکرد متفاوت خواهد بود.
در اینجا Benchmark های صورت گرفته بر روی دو نسخه از اندروید را در چهار مدل گوشی هوشمند میبینید.
تست عملکرد CPU
تست بهینهسازی عمر باتری
آن گونه که از تستهای Benchmark مشخص است، دو مدل از گوشیهای هوشمند یعنی Galaxy S۵ و Moto G با بهروز رسانی به نسخه ۵ از عملکرد بهتری در CPU برخوردارند که این عملکرد بهینه البته در تستهای مختلف متفاوت و از ۰ تا ۱۰ درصد متغیر است.
اما Moto X هیچ تغییری در عملکرد CPU نداشته و همچنین LG G۳ کاهش سرعت در عملکرد تقریبا حدود ۴ درصد را شاهد بوده است.
همچنین در خصوص آزمون بهینهسازی مصرف باتری آن گونه که مشخص است، تقریبا تفاوتی را در هر دو نسخه اندروید شاهد نیستیم، به جز در خصوص G۳ که تا حدی این مصرف بهینه در خصوص آن مشهود است.
در نهایت با این تستهای Benchmark کمی مشکل میتوان بهینهسازی انرژی و عملکرد را در خصوص اندروید نسخه ۵ مشاهده کرد که البته این موضوع شاید بستگی زیاد به تغییراتی دارد که OEMها در نسخههای خود از اندروید Lollipop ایجاد میکنند؛ اما با همه این احوال هنوز بهینهسازی عملکرد ۵ تا ۱۰ درصدی و تا حدی اندک بهینهسازی مصرف باتری در این نسخه، قابل مشاهده است.