• چرا اندروید به خواب نمی رود نحوه خاموش کردن خواب صفحه در برنامه های اندروید حالت های ذخیره انرژی اندروید

    همه گوشی‌های هوشمند و تبلت‌های اندرویدی دارای مدت زمان مشخصی هستند که پس از آن دستگاه وارد حالت خواب می‌شود. اکثر دستگاه ها پس از 30 ثانیه عدم فعالیت کاربر به خواب می روند. این زمان به طور پیش فرض تنظیم شده است، اما همه افراد زمان کافی برای خواندن و مشاهده محتوا ندارند. می توانید آن را در تنظیمات افزایش دهید و برای غیرفعال کردن کامل تایم اوت صفحه، باید گزینه ای را در قسمت "برای توسعه دهندگان" فعال کنید یا از یک برنامه خاص استفاده کنید.

    مدت کوتاهی قبل از محو شدن صفحه نمایش به دو دلیل. اولاً، به دلایل امنیتی - به طوری که هیچ کس نمی تواند بدون اطلاع مالک از دستگاه استفاده کند، اگر او آن را مسدود نکرده باشد. و دلیل دوم صرفه جویی در مصرف باتری است.

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

    بنابراین، بهتر است صفحه نمایش «به خواب رفتن» را فقط در برنامه‌های ضروری غیرفعال کنید و مقدار تایم اوت را برای کل سیستم در مدت یک تا دو دقیقه تنظیم کنید. نحوه انجام این کار در ادامه مقاله توضیح داده شده است.

    سایر دستورالعمل های مرتبط:

    تنظیم حالت خواب در اندروید

    در هر تلفن هوشمند اندرویدی، زمان پایان صفحه را می توان در تنظیمات تنظیم کرد. برای انجام این کار، به بخش "صفحه" بروید، در نسخه های جدیدتر اندروید، روی "Advanced" کلیک کنید و "Sleep mode" را باز کنید.

    در MIUI در شیائومی، مورد "حالت خواب" در بخش "قفل و محافظت" قرار دارد.

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

    در اندروید استوک، نمی‌توانید تایم اوت را به طور کامل خاموش کنید (حداکثر زمانی که می‌توانید تنظیم کنید 30 دقیقه است). اما این گزینه در سیستم عامل وجود دارد، به عنوان مثال: در MIUI در گوشی های هوشمند شیائومی و در EMUI در گوشی های Huawei و Honor.

    اما در بخش اندروید استوک و سیستم عامل موردی وجود دارد "صفحه را خاموش نکنید". اگر آن را فعال کنید، دستگاه هنگام شارژ مجدد به حالت خواب نمی رود.

    نحوه خاموش کردن خواب صفحه در برنامه ها با استفاده از Stay Alive!

    توسعه دهندگان شخص ثالث ده ها برنامه ویژه ایجاد کرده اند که به شما امکان می دهد تایم اوت را در هنگام شارژ، برای کل سیستم یا برای برنامه های جداگانه غیرفعال کنید. در حالت دوم، هنگام اجرا یا اجرا در برنامه های پس زمینه ای که کاربر انتخاب کرده است، نمایشگر خاموش نمی شود.

    یکی از بهترین برنامه ها در نوع خود Stay Alive است! . در عین حال، تمام عملکردهای لازم در نسخه رایگان آن موجود است - ما از آن استفاده خواهیم کرد. در نسخه های جدید اندروید 5، پس از نصب برنامه، باید اجازه دسترسی به سابقه استفاده را بدهید. هنگامی که برای اولین بار برنامه را شروع می کنید، یک پنجره هشدار ظاهر می شود - با کلیک بر روی دکمه "OK"، به بخش "دسترسی به داده ها" می روید و از قبل در آنجا می توانید Stay Alive را انتخاب کنید! و دسترسی به سابقه استفاده را فراهم کنید.

    اگر پیامی را که هنگام شروع Stay Alive ظاهر شد نادیده گرفتید، می‌توانید به بخش «دسترسی به داده‌ها» به شرح زیر بروید: به «تنظیمات» → «برنامه‌ها و اعلان‌ها» بروید، در صورت لزوم روی «پیشرفته» کلیک کنید و انتخاب کنید. "دسترسی ویژه". یک مورد "دسترسی به داده" وجود دارد.

    در MIUI، مورد «برنامه‌های کاربردی با دسترسی به داده» نامیده می‌شود و در قسمت «مدیریت دستگاه» در مسیر: «تنظیمات» → «تنظیمات پیشرفته» → «حریم خصوصی» قرار دارد.

    در تلفن‌های هوشمند هواوی و آنر، برای فعال کردن Stay Alive! برای پیگیری برنامه هایی که استفاده می کنید، منوی تنظیمات را باز کنید و به بخش امنیت و حریم خصوصی ← تنظیمات پیشرفته ← دسترسی به آمار استفاده بروید. زنده ماندن را انتخاب کنید! و سوئیچ تغییر مسیر "Track Usage" را فعال کنید.

    پس از راه اندازی برنامه برای اولین بار و اعطای مجوز لازم به آن، Stay Alive! شروع به کار می کند و گوشی هوشمند دیگر به حالت خواب نمی رود. به طور پیش‌فرض، «روشن نگه داشتن صفحه هنگام شارژ و باتری» فعال می‌شود و مهلت زمانی کاملاً غیرفعال می‌شود. برای جلوگیری از خاموش شدن صفحه نمایش تنها در حین شارژ، گزینه Keep screen on while charging را انتخاب کنید و اگر می خواهید برنامه را متوقف کنید، روی گزینه Pause Stay Alive کلیک کنید.

    همچنین با Stay Alive! وقتی برنامه‌های خاصی در پس‌زمینه در حال اجرا یا اجرا هستند، می‌توانید قفل دستگاه را خاموش کنید. برای انجام این کار، عملکرد "فعال کردن برنامه های انتخاب شده" را فعال کرده و گزینه "صفحه نمایش را تنها برای برنامه های انتخاب شده نگه دارید" را انتخاب کنید. سپس "Select apps that will Stay Alive!" را باز کنید. و برنامه های مورد نظر را علامت گذاری کنید. برای سهولت در یافتن برنامه ها، می توانید از جستجو استفاده کنید.

    برای اینکه هنگام اجرای برنامه‌های انتخاب‌شده، دستگاه به خواب نرود، یکی از دو حالت نیز باید فعال شود: «روشن نگه داشتن صفحه هنگام شارژ» یا «روشن نگه داشتن صفحه هنگام شارژ و باتری». اگر «مکث زنده بمانید!» انتخاب شود، برنامه کار نخواهد کرد.

    برای غیرفعال کردن مهلت زمانی برای کل سیستم، به جز برنامه‌های خاص، «Keep screen on EXCEPT for Selected Apps» را انتخاب کنید، فهرست برنامه‌ها را باز کنید (روی «انتخاب برنامه‌هایی که زنده می‌مانند» کلیک کنید) و موارد مورد نیاز خود را بررسی کنید.

    به منظور کاهش مصرف باتری زمانی که حالت خواب غیرفعال است، توسعه دهنده Stay Alive! ویژگی "Allow the screen to dim" را اضافه کرد. اگر آن را فعال کنید، صفحه کم نور می شود، اما خاموش نمی شود.

    آنر 6 به باتری لیتیوم پلیمری غیرقابل تعویض با ظرفیت 3100 میلی آمپر ساعت (11.5 وات ساعت) مجهز شده است. ظرفیت باتری یک رکورد نیست، اما بسیار خوب و کافی برای تامین عمر باتری طولانی است.

    تعداد زیادی تنظیمات مصرف برق در نرم افزار Honor 6 وجود دارد. در منوی صرفه جویی در انرژی، می توانید یکی از سه پروفایل مصرف انرژی - عملکرد، هوشمند و صرفه جویی در انرژی را انتخاب کنید. در همان زمان، تلفن هوشمند زمان باقی مانده کار را در هر یک از حالت ها پیش بینی می کند.

    حالت صرفه جویی در مصرف انرژی در آنر 6 به شیوه ای بسیار جالب پیاده سازی شده است. تقریباً تمام عملکردهای تلفن به جز تماس ها، پیامک ها و دسترسی به مخاطبین را مسدود می کند. اما در این حالت، گوشی هوشمند برای مدت بسیار طولانی کار می کند. این یک راه حل خوب برای لحظاتی است که باتری تقریباً خالی است و قطعاً باید در تماس باشید. در عین حال، هنگامی که شارژ باتری به سطح بسیار پایین کاهش می یابد، خود گوشی هوشمند از شما می خواهد که به حالت صرفه جویی در مصرف انرژی بروید، کاربر می تواند آستانه ایجاد این هشدار را انتخاب کند (8، 20 یا 30 درصد).

    به دلیل تنظیمات تهاجمی، مدیر قدرت داخلی اغلب برنامه های در حال اجرا در پس زمینه را می بندد. برنامه های پیام رسانی (مثلاً Viber) نیز ممکن است در زیر توزیع قرار گیرند. اما کاربر می تواند به صورت دستی مشخص کند که کدام برنامه ها باید از بسته شدن در حالت خواب محافظت شوند. به عنوان مثال، من این گزینه را برای Viber در آنر 6 خود فعال کردم.

    در نهایت، یک حالت ویژه در منو وجود دارد که به دلایلی در نسخه روسی رابط به آن "Screensaver" گفته می شود (در زبان اوکراینی "حالت اقتصادی روبات ها" است). در این حالت، گوشی هوشمند گرافیک را با وضوح 1280x720 ترسیم و نمایش می دهد که در نتیجه باعث افزایش عملکرد و کاهش مصرف انرژی می شود. درست است، وضوح فونت های کوچک تا حدودی آسیب می بیند.

    در حالت متعادل قدرت، Honor 6 می تواند حدود دو روز با سه ساعت نمایش صفحه در روز دوام بیاورد. این یک نتیجه بسیار شایسته است. اگر با گوشی هوشمند خود بازی انجام می دهید، انتظار می رود زمان کار کاهش یابد، اما حتی در این حالت، دستگاه بدون هیچ مشکلی تا عصر زنده می ماند.

    ترجمه... ترجمه چینی (ساده شده) چینی (سنتی) انگلیسی فرانسوی آلمانی ایتالیایی پرتغالی روسی اسپانیایی ترکی

    متأسفانه، در حال حاضر نمی‌توانیم این اطلاعات را ترجمه کنیم - لطفاً بعداً دوباره امتحان کنید.

    کریستوفر برد

    مدیریت انرژی در سیستم عامل اندروید - Sleep Lock

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

    اندروید و سایر سیستم عامل های موبایل با استفاده از یک مدل مدیریت توان تهاجمی توانسته اند به عمر باتری طولانی دست پیدا کنند. مدتی پس از استفاده از گوشی، صفحه نمایش خاموش می شود و CPU به حالت کم مصرف می رود. بنابراین، هنگامی که تلفن در حال استفاده نیست، انرژی بسیار کمی مصرف می شود. به لطف این رویکرد، تلفن های در حالت آماده به کار می توانند چندین روز بدون شارژ مجدد کار کنند. پاور منیجر اندروید بر اساس اصل کاملاً منطقی زیر ساخته شده است: وقتی صفحه خاموش می شود، CPU نیز خاموش می شود.

    اما توسعه دهندگان اندروید توانایی جلوگیری از به خواب رفتن دستگاه های دارای این سیستم عامل را فراهم کرده اند. در برخی موارد، ممکن است بخواهید حتی زمانی که صفحه نمایش خاموش است، CPU فعال باقی بماند، یا ممکن است بخواهید از خاموش شدن خودکار صفحه هنگام انجام برخی کارها جلوگیری کنید. برای این منظور توسعه دهندگان گوگل* به اصطلاح قفل خواب را در PowerManager API قرار داده اند. برنامه هایی که نیاز به جلوگیری از "خوابیدن" دستگاه دارند می توانند از این مسدود شدن استفاده کنند. در حالی که سیستم دارای قفل خواب فعال است، دستگاه قادر به "خوابیدن" نخواهد بود، یعنی به حالت آماده به کار (تا زمانی که قفل آزاد نشود). هنگام استفاده از قفل های خواب، مهم است که درک کنید که باید این قفل ها را در مواقعی که نیازی به آنها نیست، به درستی آزاد کنید. در غیر این صورت، باتری دستگاه به سرعت می نشیند: از این گذشته، دستگاه نمی تواند به حالت کاهش مصرف برق برگردد.

    در این مقاله برخی از برنامه های اندرویدی که از قفل خواب در اندروید 4.0 استفاده می کنند، توضیح داده شده است. این مقاله همچنین برنامه "Wakelocks" را از مجموعه SDPSamples برای نشان دادن اجرای قفل خواب در کد توضیح می دهد.

    استفاده از Sleep Locks توسط برنامه ها

    در اندروید، می‌توانید ببینید کدام سرویس‌ها قفل خواب را نگه می‌دارند و از ورود سیستم به یکی از حالت‌های ذخیره انرژی جلوگیری می‌کنند. فایل /proc/wakelocks روی دستگاه حاوی لیستی از سرویس‌ها و درایورهایی است که از wakelock استفاده می‌کنند. با نظارت بر محتویات فایل /sys/power/wake_lock (نیاز به دسترسی ریشه دارد)، می توانید بفهمید که آیا قفل منبع CPU وجود دارد و چه سرویسی قفل wakelock2 را نگه می دارد. من توانستم چند قفل را در تلفن هوشمند Galaxy Nexus خود با Android 4.0 مشاهده کنم:

    جدول:استفاده از قفل خواب توسط برنامه های استوک اندروید

    برنامه‌های YouTube و Music نمونه‌های خوبی از استفاده از بلوک‌های خواب در سطوح مختلف هستند. برنامه یوتیوب قفل خواب را زمانی که کاربر در حال تماشای یک ویدیوی استریم است ضبط می کند. در طول کل پخش ویدیو، صفحه نمایش روشن می ماند (بدون توجه به تنظیمات صفحه نمایش در سیستم). اما اگر کاربر دکمه پاور را در حین پخش فشار دهد، دستگاه به حالت خواب می رود: صفحه خاموش می شود و پخش صدا و تصویر متوقف می شود. برنامه Music هنگام پخش صدا از قفل خواب متفاوتی استفاده می کند. تنظیمات صفحه تغییر نکرده اند، بنابراین صفحه نمایش دستگاه مطابق تنظیمات پیکربندی شده خاموش می شود. اما حتی با خاموش شدن صفحه نمایش، قفل خواب از خاموش شدن CPU جلوگیری می کند تا پخش موسیقی ادامه یابد حتی اگر کاربر دکمه پاور را فشار دهد.

    انتخاب نوع مسدود کردن

    قبل از شروع به نوشتن کد برای قفل خواب، باید بدانید که چه نوع قفل خواب وجود دارد تا مناسب ترین نوع را برای استفاده در برنامه خود انتخاب کنید. Android PowerManager API پرچم‌های قفل مختلف موجود را توصیف می‌کند که وضعیت برق دستگاه را تغییر می‌دهند:

    ارزش پرچمCPUصفحه نمایشنور پس زمینه صفحه کلید
    PARTIAL_WAKE_LOCKبرخاموشخاموش
    SCREEN_DIM_WAKE_LOCKبرسیاه شدهخاموش
    SCREEN_BRIGHT_WAKE_LOCKبرروشنایی کاملخاموش
    FULL_WAKE_LOCKبرروشنایی کاملروشنایی کامل

    جدول:از Android PowerManager API.

    لطفاً توجه داشته باشید که قفل های خواب به طور قابل توجهی عمر باتری دستگاه های اندرویدی را کاهش می دهند، بنابراین اگر می توانید بدون آن ها از قفل خواب استفاده نکنید. در صورت امکان، آنها باید در اسرع وقت حذف شوند.

    برنامه‌ای که از مسدود کردن خواب استفاده می‌کند باید مجوز خاصی برای این کار درخواست کند. این کار با استفاده از مجوز android.permission.WAKE_LOCK در فایل مانیفست برنامه انجام می شود. این به این معنی است که حتی اگر کاربری با استفاده از Google Play یک برنامه مسدودکننده خواب را نصب کند، کاربران هشداری دریافت خواهند کرد مبنی بر اینکه این برنامه حاوی اجزایی است که ممکن است از "خواب" تلفن جلوگیری کند. اگر می‌خواهید از کم‌نور شدن صفحه در حین اجرای یک برنامه خاص جلوگیری کنید، می‌توانید این کار را به گونه‌ای انجام دهید که نیاز به مجوز خاصی نداشته باشد. WindowManager دارای یک متغیر FLAG_KEEP_SCREEN_ON است که اگر روش View برنامه نیاز به روشن نگه داشتن صفحه داشته باشد، می تواند تنظیم شود. توصیه می شود از این روش برای کنترل صفحه نمایش استفاده کنید، زیرا اثر آن فقط در داخل برنامه رخ می دهد. هنگامی که کاربر به برنامه دیگری سوئیچ می کند، WindowManager قفل خواب را آزاد می کند.

    روشن نگه داشتن صفحه (از مجموعه SDPSamples)

    برنامه WakeLock از SDPSamples نشان می دهد که یک برنامه می تواند صفحه نمایش را با استفاده از Window Manager بدون نوشتن کد قفل خواب روشن نگه دارد. برنامه WakeLock را اجرا کنید و مورد فهرست "Win Man Screen On" را انتخاب کنید.

    تا زمانی که نوار وضعیت دکمه "صفحه قفل شده است" را می خواند، صفحه نمایش روشن خواهد بود. اگر نوار وضعیت دکمه حاوی متن "صفحه باز است" باشد، پس از 5 ثانیه عدم فعالیت صفحه نمایش خاموش می شود.

    در کد، این کار توسط تابع screenLockUpdateState() در فایل WakeLockActivity.java با تنظیم و پاک کردن FLAG_KEEP_SCREEN_ON برای پنجره فعلی در هر کلیک دکمه و تغییر وضعیت انجام می شود.

    Public void screenLockUpdateState() ( if (mIsDisplayLocked) ( ... // به روز رسانی حالت نمایش getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)؛ ) other ( ... // به روز رسانی حالت نمایش getWindow().cleardowManager(W .LayoutParams.FLAG_KEEP_SCREEN_ON؛ ))

    اجرای انسداد خواب

    برنامه SDPSamples WakeLock انواع مختلفی از قفل های خواب را پیاده سازی می کند. پس از راه اندازی برنامه WakeLock، یکی از 4 نوع قفل خواب را انتخاب می کنیم: Power Wake Lock Full، Power Wake Lock Bright، Power Wake Lock Dim و Power Wake Lock Partial. این 4 گزینه مطابق با 4 پرچم مسدود کننده خواب است که در PowerManager API توضیح داده شده است. هر عنصر پاسخ دستگاه را به تلاش برای خاموش کردن صفحه بعد از 5 ثانیه نشان می دهد.

    با نظارت بر محتویات فایل /sys/power/wake_lock (نیاز به دسترسی ریشه دارد)، می توانید ببینید که پس از فشار دادن دکمه پاور، فقط قفل خواب PARTIAL_WAKE_LOCK حفظ می شود. بقیه قفل‌های خواب به شما اجازه نمی‌دهند صفحه را کاملاً خاموش کنید: با یک سطح روشنایی به کار خود ادامه می‌دهد.

    هنگام نوشتن کدهای مسدود کردن خواب، ابتدا باید مجوز استفاده از آنها را در AndroidManifest.xml درخواست کنید:

    سپس می توانید یک آبجکت WakeLock حاوی توابع ()access و release() برای مدیریت قفل خواب ایجاد کنید. یک مثال خوب در فایل WakeLockActivity.java است:

    فضای خالی عمومی onCreate(Bundle savedInstanceState) ( ... mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE)؛ ... mWakeLock = mPowerManager.newWakeLock(mWakeLockState, "UMSEWakeWkea"; purchase(); ...) ) void محافظت شده onDestroy() ( if (mWakeLock != null) (mWakeLock.release(); mWakeLock = null؛ ) ... )

    نتیجه

    Sleep Lock یک ویژگی سیستم اندروید است که به توسعه دهندگان این امکان را می دهد تا وضعیت برق پیش فرض دستگاه را تغییر دهند. خطر استفاده از قفل خواب در برنامه ها مصرف زود هنگام باتری است. برخی از مزایای واضح قفل خواب در تعدادی از برنامه های استاندارد Google، مانند ناوبری یا پخش موسیقی و ویدیو، مشهود است. تصمیم گیری در مورد مناسب بودن یا نبودن قفل خواب به عهده هر توسعه دهنده برنامه است.

    درباره نویسنده

    کریستوفر برد کار خود را با Intel SSG در سال 2007 آغاز کرد و در ساخت اکوسیستم دستگاه مبتنی بر اتم (تلفن و تبلت) مشارکت دارد.

    منابع مرجع

    2 LWN - "Wakelocks و مشکل تعبیه شده": http://lwn.net/Articles/318611/

    یادداشت

    اطلاعات موجود در این سند فقط برای محصولات اینتل است. این سند هیچ گونه مجوز صریح یا ضمنی، صدای اعتراض یا سایر حقوق مالکیت معنوی را اعطا نمی کند. به استثنای مواردی که در شرایط و ضوابط فروش چنین محصولاتی ارائه شده است، اینتل مسئولیتی ندارد و تمام ضمانت‌های صریح یا ضمنی را در رابطه با فروش و/یا استفاده از ضمانت‌نامه‌ها و ضمانت‌نامه‌های ضمانت‌نامه‌ای از محصولات خود سلب می‌کند. با توجه به آمادگی آنها برای یک موضوع خاص هدف، سود یا عدم نقض - ​​اعم از اختراع، حق چاپ یا سایر حقوق مالکیت معنوی.

    محصولات اینتل برای استفاده در مواردی که نقص آنها ممکن است منجر به جراحت یا مرگ شود، به جز مواردی که اینتل به صورت کتبی توافق کرده است، در نظر گرفته نشده است.

    اینتل این حق را برای خود محفوظ می دارد که بدون اطلاع قبلی، مشخصات و توضیحات محصولات خود را تغییر دهد. طراحان نباید به ویژگی‌ها یا ویژگی‌های گمشده با علامت‌گذاری «محفوظ» یا «تعریف نشده» تکیه کنند. این ویژگی‌ها توسط اینتل برای استفاده در آینده محفوظ است و نمی‌توان تضمین کرد که تضادهای سازگاری ندارند. اطلاعات این سند ممکن است بدون اطلاع قبلی تغییر کند. از این اطلاعات در طراحی نهایی استفاده نکنید.

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

    نسخه‌های شماره‌دار اسناد ارجاع‌شده در این سند و سایر مواد اینتل را می‌توانید با تماس با شماره 1-800-548-4725 سفارش دهید یا از http://www.intel.com/design/literature.htm دانلود کنید.

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

    این سند و نرم افزار توضیح داده شده در آن تحت مجوز ارائه شده است و فقط مطابق با شرایط مجوز قابل استفاده و توزیع است.

    Intel® و آرم Intel علائم تجاری Intel Corporation در ایالات متحده و/یا سایر کشورها هستند.

    کپی رایت © 2012 شرکت اینتل. کلیه حقوق محفوظ است.

    *سایر اسامی و علائم تجاری ممکن است متعلق به اشخاص ثالث باشد.

    انتقال یک دستگاه تلفن همراه به حالت خواب به این معنی است که وقتی ابزار برای مدت معینی غیرفعال است، نمایشگر به طور خودکار خاموش می شود. این ویژگی برای صرفه جویی در مصرف باتری گوشی به کار گرفته شده است.

    برای فعال یا غیرفعال کردن حالت خواب در اندروید، باید به تنظیمات مربوطه بروید. بسته به مدل گوشی های هوشمند، آنها تا حدودی متفاوت هستند، اگرچه به طور قابل توجهی نیستند.

    چگونه انجامش بدهیم

    هنگامی که لازم است حالت خواب را در اندروید فعال/غیرفعال کنید، باید به منوی تنظیمات اصلی گوشی رفته و گزینه «نمایش» یا «صفحه نمایش» را پیدا کنید. با کلیک بر روی این لینک، تب Sleep Mode ظاهر می شود. این بازه زمانی را تنظیم می کند که پس از آن دستگاه به طور خودکار به حالت خواب در اندروید می رود. با علامت زدن چک باکس "هرگز"، توانایی دستگاه را برای کار در حالت خواب غیرفعال می کنید، بنابراین در حالی که هیچ کس از تلفن استفاده نمی کند، همیشه فعال خواهد بود.

    مشکلات احتمالی

    گاهی اوقات موقعیت هایی پیش می آید که لازم است نمایشگر دستگاه تلفن همراه را بدون فعال کردن حالت خواب خاموش کنید. گزینه استاندارد صرفه جویی در باتری گوشی هوشمند هنگامی که با استفاده از کابل HDMI به تلویزیون متصل است.

    مشکل اصلی این است که اگر تلفن هوشمند را خاموش کنید، برق از کابل HDMI نمی رود و در نتیجه صفحه تلویزیون محو می شود، زیرا تلفن در حالت خواب است. بیایید 1 مثال دیگر بیاوریم - روی رایانه لوحی راه اندازی شده است. سپس صفحه کلید یا ماوس با استفاده از ایستگاه اتصال به دستگاه متصل می شود. تصویر روی صفحه نمایش داده می شود. مشکل ذکر شده تکرار می شود. بدون رفتن به خواب نمی توانید صفحه گوشی را خاموش کنید. اگر کاری انجام ندهید، گوشی هوشمند به سرعت تخلیه می شود. حل مشکل با تنظیمات استاندارد غیرممکن است.

    راه حل

    باید آن را با نام Screen Standby دانلود کنید. با استفاده از این برنامه می توانید در زمانی که گوشی به طور کامل کار می کند، نمایشگر را خاموش کنید. می توانید اپلیکیشن را از طریق سرویس گوگل پلی به صورت رایگان دانلود کنید.

    از این پس می توانید با اتصال گوشی خود به تلویزیون، فیلم تماشا کنید، برنامه های بازی اجرا کنید و در یک صفحه بزرگ در اینترنت گشت و گذار کنید. به طور قابل توجهی در شارژ صرفه جویی می کند. مایلیم توجه داشته باشیم که در حال حاضر هیچ آنالوگ شایسته ای برای این نرم افزار وجود ندارد. برای اینکه ابزار به درستی کار کند، حقوق دسترسی ریشه باید تنظیم شود. با Screen Standby، می توانید هنگام اتصال کابل HDMI، نور پس زمینه را به طور خودکار خاموش کنید و همچنین نمایشگر گوشی را در حالت تاچ پد قرار دهید.

    مدت‌ها پیش، زمانی که اندروید هنوز به جریان اصلی تبدیل نشده بود، هر توسعه‌دهنده‌ای می‌توانست برنامه‌ای بنویسد که بتواند بی‌صدا در پس‌زمینه آویزان شود و در زمان واقعی با سرور ارتباط برقرار کند. اما هر چه بیشتر، تکنیک‌های صرفه‌جویی انرژی دقیق‌تر توسط گوگل اعمال می‌شود و امروزه دیگر نمی‌توانید یک برنامه بلادرنگ شبکه را به این سادگی پیاده‌سازی کنید. با این حال، چند ترفند وجود دارد که به شما این امکان را می دهد.

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

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

    حالت های ذخیره انرژی اندروید

    در Android 4.4-5.1 (نسخه های زیر را در نظر نخواهیم گرفت - آنها به سرعت در حال منسوخ شدن هستند)، این سرویس کار می کند و فوراً به درخواست های سرور پاسخ می دهد، اما فقط تا زمانی که صفحه روشن است. چند ثانیه پس از خاموش شدن صفحه، گوشی هوشمند به حالت خواب (تعلیق) می رود و فاصله بین ارسال درخواست و پاسخ برنامه ما حدود یک دقیقه خواهد بود. این دوره بین بیداری های تعمیر و نگهداری دستگاه است و ما نمی توانیم بر آن تأثیر بگذاریم.

    در اندروید 6.0–7.1 وضعیت تقریباً به همین منوال خواهد بود، اما پس از حدود یک ساعت، گوشی هوشمند به اصطلاح تغییر می کند. پس از آن، یا اصلاً می توانید از برنامه پاسخی دریافت نکنید، یا می توانید یکی دو ساعت بعد دریافت کنید. و همه اینها به این دلیل است که در حالت Doze، گوشی هوشمند در واقع به برنامه های شخص ثالث و خدمات آنها اجازه کار نمی دهد و دسترسی آنها به وب را به طور کامل قطع می کند. آنها فقط می توانند برای مدت کوتاهی پس از یک ساعت پس از وارد شدن به حالت Doze، سپس دو ساعت، چهار ساعت، با افزایش فواصل بین بیدار شدن، کنترل کنند.

    خبر خوب این است که Doze در سراسر سیستم کار می کند و یک ساعت پس از خاموش شدن صفحه نمایش روشن می شود و فقط در صورتی که گوشی هوشمند را لمس نکنید (در نسخه 7.0-7.1 می توانید آن را لمس کنید)، و بلافاصله پس از باز کردن قفل گوشی هوشمند، وصل می شود. به شارژر یا جابجایی تلفن هوشمند (باز هم نه در 7.0-7.1). یعنی می توانیم امیدوار باشیم که حداقل در طول روز سرویس ما به طور عادی کار کند.

    خبر بد این است که علاوه بر Doze، اندروید 6.0-7.1 مکانیسم ذخیره انرژی دیگری به نام App Standby دارد. به این صورت عمل می‌کند: سیستم برنامه‌هایی را که کاربر استفاده می‌کند پیگیری می‌کند، و همان محدودیت‌هایی را برای برنامه‌هایی که به ندرت استفاده می‌شوند اعمال می‌کند که در حالت Doze وجود دارد. هنگامی که به شارژر متصل می شود، همه برنامه هایی که به حالت Standby منتقل می شوند، عفو دریافت می کنند. برنامه هایی که دارای اعلان یا حقوق اداری (غیر روت) هستند، حالت Standby اعمال نمی شوند.

    در مجموع، اندروید دارای سه مکانیسم به طور همزمان است که باید با آنها مقابله کنید:

    • تعلیق - حالت عادی صرفه جویی در انرژی، ممکن است پاسخ دستگاه را حدود یک دقیقه کند کند.
    • App Standby - حالت تهاجمی صرفه جویی در مصرف انرژی که می تواند پاسخ را برای یک روز کند کند.
    • Doze یک حالت تهاجمی ذخیره انرژی در سراسر سیستم است که برای همه برنامه ها اعمال می شود.

    همه این حالت‌های صرفه‌جویی در مصرف انرژی را می‌توان دور زد، اما هر چه بیشتر به جنگل بروید، عصاها و ناراحتی‌های بیشتری برای کاربر ایجاد می‌شود، بنابراین ما چندین گزینه را برای دور زدن مکانیسم‌های صرفه‌جویی انرژی، از سبک‌ترین تا سخت‌کوه، در نظر خواهیم گرفت.

    سناریوی 1. تاخیر جزئی در پاسخ غیر بحرانی است، انتقال به Doze غیر بحرانی است

    در این سناریو، شما اپلیکیشنی دارید که تاخیر پاسخگویی تا یک دقیقه برای آن حیاتی نیست و انتقال گوشی هوشمند به حالت تهاجمی صرفه جویی در مصرف انرژی اصلا ترسناک نیست. تنها چیزی که نیاز دارید این است که سیستم برنامه را به حالت Standby ارسال نکند.

    دو راه ساده برای دستیابی به این هدف، آوردن سرویس به سرویس پیش زمینه یا دادن حقوق سرپرست دستگاه برنامه است. بیایید با گزینه اول شروع کنیم.

    خدمات پیش زمینه

    سرویس پیش زمینه در اصطلاح اندروید سرویسی است که یک اعلان در یک پرده دارد. این سیستم با چنین خدماتی با دقت بیشتری برخورد می کند. به عنوان مثال، زمانی که حافظه آن تمام شود، آخرین موردی است که کشته می شود، هنگام کشیدن یک برنامه در منوی مدیریت برنامه های در حال اجرا، کشته نمی شود و بله، در حالت Standby قرار نمی گیرد.

    ایجاد یک سرویس پیش زمینه بسیار ساده است. کافی است چیزی مانند خطوط زیر را در کد سرویس وارد کنید:

    Intent notificationIntent = New Intent(this, ExampleActivity.class); pendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); اعلان اعلان = Notification.Builder(this) .setContentTitle(getText(R.string.notification_title)) .setContentText(getText(R.string.notification_message)) .setSmallIcon(R.drawable.icon) .setContententIntentent (getText(R.string.ticker_text)) .build(); startForeground (0، اطلاع رسانی)؛

    این مثال یک اعلان ایجاد می کند، با ضربه زدن روی آن ExampleActivity راه اندازی می شود، در پایان، با استفاده از startForeground()، سرویس به وضعیت پیش زمینه منتقل می شود.

    حقوق مدیر

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

    زمانی، گوگل مفهوم «مدیر دستگاه» را برای شرکت‌هایی معرفی کرد که می‌خواهند گوشی‌های هوشمند کارمندان خود را مدیریت کنند. یعنی این شرکت برنامه ای ایجاد می کند که حقوق مدیر را دریافت می کند و می تواند پس از دستور سرور گوشی را قفل یا ریست کند. به همین دلیل است که یک برنامه با حقوق سرپرست به حالت Standby نمی رود، زیرا فرمان قفل می تواند در هر زمانی بیاید.

    دریافت یا بهتر است بگوییم درخواست حقوق مدیر دوباره ساده است. ابتدا به چند تماس برگشتی نیاز داریم که پس از اعطا یا لغو مجوزها فراخوانی شوند:

    ادامه فقط برای مشترکین در دسترس است

    گزینه 1. برای خواندن تمام مطالب موجود در سایت در "هکر" مشترک شوید

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