بهینه‌سازی صفحه‌های ساعت، بهینه‌سازی صفحه‌های ساعت، بهینه‌سازی چهره‌های ساعت، بهینه‌سازی صفحه‌های ساعت

صفحه ساعت Wear OS به طور مداوم کار می کند، بنابراین باید به طور موثر از انرژی استفاده کند.

عملکرد صفحه ساعت را تا حد امکان بهینه کنید. این صفحه بهترین روش‌ها را برای بهینه‌سازی کلی چهره ساعت و همچنین بهترین روش‌های هدفمند برای انیمیشن‌ها و تصاویر ارائه می‌دهد.

بهینه سازی پایه

این بخش شامل بهترین روش ها برای بهبود کارایی کلی صفحه ساعت شما است.

رنگ چهره و روشنایی ساعت

استفاده از رنگ های تیره در صفحه ساعت، انرژی کمتری را از ساعت کاربر می گیرد. توصیه‌های زیر برای تنظیم پس‌زمینه صفحه ساعت برای بهینه‌سازی مصرف باتری ساعت است:

  • رنگ: در صورت امکان از پس زمینه مشکی استفاده کنید.
  • روشنایی: هنگامی که پس‌زمینه سیاه امکان‌پذیر نیست، روشنایی رنگ پس‌زمینه را در مقیاس رنگ، اشباع، مقدار (HSV) یا رنگ، اشباع، روشنایی (HSB) در 25٪ یا کمتر از آن نگه دارید. به عنوان مثال، اگر از کلاس Color برای تنظیم یک رنگ پس زمینه تعریف شده با مقیاس HSV استفاده می کنید، از 25 یا کمتر برای تنظیم مقدار استفاده کنید که روشنایی را کنترل می کند.

از قابلیت های پویا برای تعامل با تلفن استفاده کنید

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

نظارت بر مصرف برق

برنامه همراه Wear OS به توسعه دهندگان و کاربران این امکان را می دهد که میزان مصرف باتری توسط فرآیندهای مختلف در دستگاه پوشیدنی را ببینند. برای دیدن این مورد، به تنظیمات > باتری ساعت بروید.

چهره‌های ساعت آگاه از رمزگذاری را ثبت کنید

Android 7.0 و بالاتر شامل پشتیبانی از رمزگذاری مبتنی بر فایل است و به برنامه های کاربردی آگاه از رمزگذاری اجازه می دهد قبل از اینکه کاربر رمز عبور رمزگشایی را هنگام بوت آپ ارائه دهد اجرا شوند. این می تواند مدت زمان انتقال از پویانمایی بوت به صفحه ساعت را تا 30 ثانیه کاهش دهد.

برای فعال کردن راه‌اندازی سریع‌تر، android:directBootAware="true" را به صفحه نمایش ساعت اضافه کنید.

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

بهترین روش ها برای انیمیشن ها

بهترین روش ها در این بخش به کاهش مصرف انرژی مرتبط با انیمیشن ها کمک می کند.

نرخ فریم انیمیشن ها را کاهش دهید

انیمیشن ها اغلب از نظر محاسباتی گران هستند و مقدار قابل توجهی انرژی مصرف می کنند. اکثر انیمیشن ها با سرعت 30 فریم در ثانیه روان به نظر می رسند، بنابراین از اجرای انیمیشن های خود با نرخ فریم بالاتر اجتناب کنید. در عوض، می توانید از نرخ فریم پویا استفاده کنید. برای اطلاعات بیشتر، به نمونه Canvas Watch Face مراجعه کنید.

اجازه دهید CPU بین انیمیشن ها بخوابد

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

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

بهترین روش ها برای تصاویر

بهترین روش ها در این بخش به کاهش مصرف برق مرتبط با تصاویر کمک می کند.

اندازه دارایی های بیت مپ خود را کاهش دهید

بسیاری از صفحه‌های ساعت شامل یک تصویر پس‌زمینه به‌علاوه سایر دارایی‌های گرافیکی هستند که تغییر شکل داده و روی تصویر پس‌زمینه قرار می‌گیرند، مانند عقربه‌های ساعت و سایر عناصری که در طول زمان حرکت می‌کنند. هرچه این دارایی‌های گرافیکی بزرگ‌تر باشند، تبدیل آن‌ها از نظر محاسباتی گران‌تر است. به طور معمول، این عناصر گرافیکی در داخل متد Render.CanvasRenderer.render() هر بار که سیستم صفحه ساعت را دوباره ترسیم می کند، چرخانده می شوند، و گاهی اوقات مقیاس می شوند، همانطور که در Draw a watch face توضیح داده شده است.

شکل 1. عقربه های ساعت را برای حذف پیکسل های اضافی برش دهید.

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

  • از عناصر گرافیکی بزرگتر از آنچه نیاز دارید استفاده نکنید.
  • پیکسل های شفاف اضافی اطراف لبه ها را حذف کنید.

به عنوان مثال، اندازه تصویر عقربه ساعت در سمت چپ در شکل 1 را می توان با حذف پیکسل های شفاف اضافی، همانطور که در سمت راست شکل نشان داده شده است، 97٪ کاهش داد.

دارایی های بیت مپ را ترکیب کنید

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

هنگام ترسیم بیت مپ های مقیاس بندی شده، Anti-aliasing را غیرفعال کنید

هنگامی که با استفاده از متد Canvas.drawBitmap() یک بیت مپ کوچک شده روی شی Canvas ترسیم می کنید، می توانید یک نمونه Paint برای پیکربندی چندین گزینه ارائه دهید. برای بهبود عملکرد، با استفاده از متد setAntiAlias() ، آنتی آلیاسینگ را غیرفعال کنید، زیرا این گزینه هیچ تاثیری روی بیت مپ ندارد.

شکل 2. مثالی از فیلتر بیت مپ غیرفعال (چپ) و فعال (راست).

از فیلتر بیت مپ استفاده کنید

برای دارایی های بیت مپ که روی عناصر دیگر ترسیم می کنید، فیلتر بیت مپ را در همان نمونه Paint با استفاده از متد setFilterBitmap() فعال کنید. شکل 2 نمای بزرگنمایی شده عقربه ساعت با و بدون فیلتر بیت مپ را نشان می دهد.

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

عملیات گران قیمت را به خارج از روش ترسیم منتقل کنید

سیستم هر بار که صفحه ساعت شما را دوباره ترسیم می کند، متد Render.CanvasRenderer.render() را فراخوانی می کند. برای بهبود عملکرد، فقط عملیات‌هایی را در این روش بگنجانید که برای به‌روزرسانی صفحه ساعت کاملاً لازم است.

در صورت امکان، از انجام عملیات زیر در متد Render.CanvasRenderer.render() خودداری کنید:

  • بارگیری تصاویر و سایر منابع
  • تغییر اندازه تصاویر
  • تخصیص اشیا
  • محاسباتی که نتایج آنها بین فریم ها تغییر نمی کند

برای تجزیه و تحلیل عملکرد صفحه ساعت خود، از CPU Profiler استفاده کنید. به طور خاص، مطمئن شوید که زمان اجرای Render.CanvasRenderer.render() کوتاه و در سراسر فراخوانی سازگار است. برای اطلاعات بیشتر، به بررسی فعالیت CPU با CPU Profiler مراجعه کنید.

برنامه نمونه چهره ساعت بهترین شیوه ها را برای پیکربندی صفحه ساعت نشان می دهد. ،

صفحه ساعت Wear OS به طور مداوم کار می کند، بنابراین باید به طور موثر از انرژی استفاده کند.

عملکرد صفحه ساعت را تا حد امکان بهینه کنید. این صفحه بهترین روش‌ها را برای بهینه‌سازی کلی چهره ساعت و همچنین بهترین روش‌های هدفمند برای انیمیشن‌ها و تصاویر ارائه می‌دهد.

بهینه سازی پایه

این بخش شامل بهترین روش ها برای بهبود کارایی کلی صفحه ساعت شما است.

رنگ چهره و روشنایی ساعت

استفاده از رنگ های تیره در صفحه ساعت، انرژی کمتری را از ساعت کاربر می گیرد. توصیه‌های زیر برای تنظیم پس‌زمینه صفحه ساعت برای بهینه‌سازی مصرف باتری ساعت است:

  • رنگ: در صورت امکان از پس زمینه مشکی استفاده کنید.
  • روشنایی: هنگامی که پس‌زمینه سیاه امکان‌پذیر نیست، روشنایی رنگ پس‌زمینه را در مقیاس رنگ، اشباع، مقدار (HSV) یا رنگ، اشباع، روشنایی (HSB) در 25٪ یا کمتر از آن نگه دارید. به عنوان مثال، اگر از کلاس Color برای تنظیم یک رنگ پس زمینه تعریف شده با مقیاس HSV استفاده می کنید، از 25 یا کمتر برای تنظیم مقدار استفاده کنید که روشنایی را کنترل می کند.

از قابلیت های پویا برای تعامل با تلفن استفاده کنید

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

نظارت بر مصرف برق

برنامه همراه Wear OS به توسعه دهندگان و کاربران این امکان را می دهد که میزان مصرف باتری توسط فرآیندهای مختلف در دستگاه پوشیدنی را ببینند. برای دیدن این مورد، به تنظیمات > باتری ساعت بروید.

چهره‌های ساعت آگاه از رمزگذاری را ثبت کنید

Android 7.0 و بالاتر شامل پشتیبانی از رمزگذاری مبتنی بر فایل است و به برنامه های کاربردی آگاه از رمزگذاری اجازه می دهد قبل از اینکه کاربر رمز عبور رمزگشایی را هنگام بوت آپ ارائه دهد اجرا شوند. این می تواند مدت زمان انتقال از پویانمایی بوت به صفحه ساعت را تا 30 ثانیه کاهش دهد.

برای فعال کردن راه‌اندازی سریع‌تر، android:directBootAware="true" را به صفحه نمایش ساعت اضافه کنید.

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

بهترین روش ها برای انیمیشن ها

بهترین روش ها در این بخش به کاهش مصرف انرژی مرتبط با انیمیشن ها کمک می کند.

نرخ فریم انیمیشن ها را کاهش دهید

انیمیشن ها اغلب از نظر محاسباتی گران هستند و مقدار قابل توجهی انرژی مصرف می کنند. اکثر انیمیشن ها با سرعت 30 فریم در ثانیه روان به نظر می رسند، بنابراین از اجرای انیمیشن های خود با نرخ فریم بالاتر اجتناب کنید. در عوض، می توانید از نرخ فریم پویا استفاده کنید. برای اطلاعات بیشتر، به نمونه Canvas Watch Face مراجعه کنید.

اجازه دهید CPU بین انیمیشن ها بخوابد

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

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

بهترین روش ها برای تصاویر

بهترین روش ها در این بخش به کاهش مصرف برق مرتبط با تصاویر کمک می کند.

اندازه دارایی های بیت مپ خود را کاهش دهید

بسیاری از صفحه‌های ساعت شامل یک تصویر پس‌زمینه به‌علاوه سایر دارایی‌های گرافیکی هستند که تغییر شکل داده و روی تصویر پس‌زمینه قرار می‌گیرند، مانند عقربه‌های ساعت و سایر عناصری که در طول زمان حرکت می‌کنند. هرچه این دارایی‌های گرافیکی بزرگ‌تر باشند، تبدیل آن‌ها از نظر محاسباتی گران‌تر است. به طور معمول، این عناصر گرافیکی در داخل متد Render.CanvasRenderer.render() هر بار که سیستم صفحه ساعت را دوباره ترسیم می کند، چرخانده می شوند، و گاهی اوقات مقیاس می شوند، همانطور که در Draw a watch face توضیح داده شده است.

شکل 1. عقربه های ساعت را برای حذف پیکسل های اضافی برش دهید.

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

  • از عناصر گرافیکی بزرگتر از آنچه نیاز دارید استفاده نکنید.
  • پیکسل های شفاف اضافی اطراف لبه ها را حذف کنید.

به عنوان مثال، اندازه تصویر عقربه ساعت در سمت چپ در شکل 1 را می توان با حذف پیکسل های شفاف اضافی، همانطور که در سمت راست شکل نشان داده شده است، 97٪ کاهش داد.

دارایی های بیت مپ را ترکیب کنید

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

هنگام ترسیم بیت مپ های مقیاس بندی شده، Anti-aliasing را غیرفعال کنید

هنگامی که با استفاده از متد Canvas.drawBitmap() یک بیت مپ کوچک شده روی شی Canvas ترسیم می کنید، می توانید یک نمونه Paint برای پیکربندی چندین گزینه ارائه دهید. برای بهبود عملکرد، با استفاده از متد setAntiAlias() ، آنتی آلیاسینگ را غیرفعال کنید، زیرا این گزینه هیچ تاثیری روی بیت مپ ندارد.

شکل 2. مثالی از فیلتر بیت مپ غیرفعال (چپ) و فعال (راست).

از فیلتر بیت مپ استفاده کنید

برای دارایی های بیت مپ که روی عناصر دیگر ترسیم می کنید، فیلتر بیت مپ را در همان نمونه Paint با استفاده از متد setFilterBitmap() فعال کنید. شکل 2 نمای بزرگنمایی شده عقربه ساعت با و بدون فیلتر بیت مپ را نشان می دهد.

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

عملیات گران قیمت را به خارج از روش ترسیم منتقل کنید

سیستم هر بار که صفحه ساعت شما را دوباره ترسیم می کند، متد Render.CanvasRenderer.render() را فرا می خواند. برای بهبود عملکرد، فقط عملیات‌هایی را در این روش بگنجانید که برای به‌روزرسانی صفحه ساعت کاملاً لازم است.

در صورت امکان، از انجام عملیات زیر در متد Render.CanvasRenderer.render() خودداری کنید:

  • بارگیری تصاویر و سایر منابع
  • تغییر اندازه تصاویر
  • تخصیص اشیا
  • محاسباتی که نتایج آنها بین فریم ها تغییر نمی کند

برای تجزیه و تحلیل عملکرد صفحه ساعت خود، از CPU Profiler استفاده کنید. به طور خاص، مطمئن شوید که زمان اجرای Render.CanvasRenderer.render() کوتاه و در سراسر فراخوانی سازگار است. برای اطلاعات بیشتر، به بررسی فعالیت CPU با CPU Profiler مراجعه کنید.

برنامه نمونه چهره ساعت بهترین شیوه ها را برای پیکربندی صفحه ساعت نشان می دهد. ،

صفحه ساعت Wear OS به طور مداوم کار می کند، بنابراین باید به طور موثر از انرژی استفاده کند.

عملکرد صفحه ساعت را تا حد امکان بهینه کنید. این صفحه بهترین روش‌ها را برای بهینه‌سازی کلی چهره ساعت و همچنین بهترین روش‌های هدفمند برای انیمیشن‌ها و تصاویر ارائه می‌دهد.

بهینه سازی پایه

این بخش شامل بهترین روش ها برای بهبود کارایی کلی صفحه ساعت شما است.

رنگ چهره و روشنایی ساعت

استفاده از رنگ های تیره در صفحه ساعت، انرژی کمتری را از ساعت کاربر می گیرد. توصیه‌های زیر برای تنظیم پس‌زمینه صفحه ساعت برای بهینه‌سازی مصرف باتری ساعت است:

  • رنگ: در صورت امکان از پس زمینه مشکی استفاده کنید.
  • روشنایی: هنگامی که پس‌زمینه سیاه امکان‌پذیر نیست، روشنایی رنگ پس‌زمینه را در مقیاس رنگ، اشباع، مقدار (HSV) یا رنگ، اشباع، روشنایی (HSB) در 25٪ یا کمتر از آن نگه دارید. به عنوان مثال، اگر از کلاس Color برای تنظیم یک رنگ پس زمینه تعریف شده با مقیاس HSV استفاده می کنید، از 25 یا کمتر برای تنظیم مقدار استفاده کنید که روشنایی را کنترل می کند.

از قابلیت های پویا برای تعامل با تلفن استفاده کنید

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

نظارت بر مصرف برق

برنامه همراه Wear OS به توسعه دهندگان و کاربران این امکان را می دهد که میزان مصرف باتری توسط فرآیندهای مختلف در دستگاه پوشیدنی را ببینند. برای دیدن این مورد، به تنظیمات > باتری ساعت بروید.

چهره‌های ساعت آگاه از رمزگذاری را ثبت کنید

Android 7.0 و بالاتر شامل پشتیبانی از رمزگذاری مبتنی بر فایل است و به برنامه های کاربردی آگاه از رمزگذاری اجازه می دهد قبل از اینکه کاربر رمز عبور رمزگشایی را هنگام بوت آپ ارائه دهد اجرا شوند. این می تواند مدت زمان انتقال از پویانمایی بوت به صفحه ساعت را تا 30 ثانیه کاهش دهد.

برای فعال کردن راه‌اندازی سریع‌تر، android:directBootAware="true" را به صفحه نمایش ساعت اضافه کنید.

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

بهترین روش ها برای انیمیشن ها

بهترین روش ها در این بخش به کاهش مصرف انرژی مرتبط با انیمیشن ها کمک می کند.

نرخ فریم انیمیشن ها را کاهش دهید

انیمیشن ها اغلب از نظر محاسباتی گران هستند و مقدار قابل توجهی انرژی مصرف می کنند. اکثر انیمیشن ها با سرعت 30 فریم در ثانیه روان به نظر می رسند، بنابراین از اجرای انیمیشن های خود با نرخ فریم بالاتر اجتناب کنید. در عوض، می توانید از نرخ فریم پویا استفاده کنید. برای اطلاعات بیشتر، به نمونه Canvas Watch Face مراجعه کنید.

اجازه دهید CPU بین انیمیشن ها بخوابد

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

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

بهترین روش ها برای تصاویر

بهترین روش ها در این بخش به کاهش مصرف برق مرتبط با تصاویر کمک می کند.

اندازه دارایی های بیت مپ خود را کاهش دهید

بسیاری از صفحه‌های ساعت شامل یک تصویر پس‌زمینه به‌علاوه سایر دارایی‌های گرافیکی هستند که تغییر شکل داده و روی تصویر پس‌زمینه قرار می‌گیرند، مانند عقربه‌های ساعت و سایر عناصری که در طول زمان حرکت می‌کنند. هرچه این دارایی‌های گرافیکی بزرگ‌تر باشند، تبدیل آن‌ها از نظر محاسباتی گران‌تر است. به طور معمول، این عناصر گرافیکی در داخل متد Render.CanvasRenderer.render() هر بار که سیستم صفحه ساعت را دوباره ترسیم می کند، چرخانده می شوند، و گاهی اوقات مقیاس می شوند، همانطور که در Draw a watch face توضیح داده شده است.

شکل 1. عقربه های ساعت را برای حذف پیکسل های اضافی برش دهید.

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

  • از عناصر گرافیکی بزرگتر از آنچه نیاز دارید استفاده نکنید.
  • پیکسل های شفاف اضافی اطراف لبه ها را حذف کنید.

به عنوان مثال، اندازه تصویر عقربه ساعت در سمت چپ در شکل 1 را می توان با حذف پیکسل های شفاف اضافی، همانطور که در سمت راست شکل نشان داده شده است، 97٪ کاهش داد.

دارایی های بیت مپ را ترکیب کنید

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

هنگام ترسیم بیت مپ های مقیاس بندی شده، Anti-aliasing را غیرفعال کنید

هنگامی که با استفاده از متد Canvas.drawBitmap() یک بیت مپ کوچک شده روی شی Canvas ترسیم می کنید، می توانید یک نمونه Paint برای پیکربندی چندین گزینه ارائه دهید. برای بهبود عملکرد، با استفاده از متد setAntiAlias() را غیرفعال کنید، زیرا این گزینه هیچ تاثیری بر روی بیت مپ ندارد.

شکل 2. مثالی از فیلتر بیت مپ غیرفعال (چپ) و فعال (راست).

از فیلتر بیت مپ استفاده کنید

برای دارایی های بیت مپ که روی عناصر دیگر ترسیم می کنید، فیلتر بیت مپ را در همان نمونه Paint با استفاده از متد setFilterBitmap() فعال کنید. شکل 2 نمای بزرگنمایی شده عقربه ساعت با و بدون فیلتر بیت مپ را نشان می دهد.

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

عملیات گران قیمت را به خارج از روش ترسیم منتقل کنید

سیستم هر بار که صفحه ساعت شما را دوباره ترسیم می کند، متد Render.CanvasRenderer.render() را فرا می خواند. برای بهبود عملکرد، فقط عملیات‌هایی را در این روش بگنجانید که برای به‌روزرسانی صفحه ساعت کاملاً لازم است.

در صورت امکان، از انجام عملیات زیر در متد Render.CanvasRenderer.render() خودداری کنید:

  • بارگیری تصاویر و سایر منابع
  • تغییر اندازه تصاویر
  • تخصیص اشیا
  • محاسباتی که نتایج آنها بین فریم ها تغییر نمی کند

برای تجزیه و تحلیل عملکرد صفحه ساعت خود، از CPU Profiler استفاده کنید. به طور خاص، مطمئن شوید که زمان اجرای Render.CanvasRenderer.render() کوتاه و در سراسر فراخوانی سازگار است. برای اطلاعات بیشتر، به بررسی فعالیت CPU با CPU Profiler مراجعه کنید.

برنامه نمونه چهره ساعت بهترین شیوه ها را برای پیکربندی صفحه ساعت نشان می دهد. ،

صفحه ساعت Wear OS به طور مداوم کار می کند، بنابراین باید به طور موثر از انرژی استفاده کند.

عملکرد صفحه ساعت را تا حد امکان بهینه کنید. این صفحه بهترین روش‌ها را برای بهینه‌سازی کلی چهره ساعت و همچنین بهترین روش‌های هدفمند برای انیمیشن‌ها و تصاویر ارائه می‌دهد.

بهینه سازی پایه

این بخش شامل بهترین روش ها برای بهبود کارایی کلی صفحه ساعت شما است.

رنگ چهره و روشنایی ساعت

استفاده از رنگ های تیره در صفحه ساعت، انرژی کمتری را از ساعت کاربر می گیرد. توصیه‌های زیر برای تنظیم پس‌زمینه صفحه ساعت برای بهینه‌سازی مصرف باتری صفحه ساعت است:

  • رنگ: در صورت امکان از پس زمینه مشکی استفاده کنید.
  • روشنایی: هنگامی که پس‌زمینه سیاه امکان‌پذیر نیست، روشنایی رنگ پس‌زمینه را در مقیاس رنگ، اشباع، مقدار (HSV) یا رنگ، اشباع، روشنایی (HSB) در 25٪ یا کمتر از آن نگه دارید. به عنوان مثال، اگر از کلاس Color برای تنظیم یک رنگ پس زمینه تعریف شده با مقیاس HSV استفاده می کنید، از 25 یا کمتر برای تنظیم مقدار استفاده کنید که روشنایی را کنترل می کند.

از قابلیت های پویا برای تعامل با تلفن استفاده کنید

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

نظارت بر مصرف برق

برنامه همراه Wear OS به توسعه دهندگان و کاربران این امکان را می دهد که میزان مصرف باتری توسط فرآیندهای مختلف در دستگاه پوشیدنی را ببینند. برای دیدن این مورد، به تنظیمات > باتری ساعت بروید.

چهره‌های ساعت آگاه از رمزگذاری را ثبت کنید

Android 7.0 و بالاتر شامل پشتیبانی از رمزگذاری مبتنی بر فایل است و به برنامه های کاربردی آگاه از رمزگذاری اجازه می دهد قبل از اینکه کاربر رمز عبور رمزگشایی را هنگام بوت آپ ارائه دهد اجرا شوند. این می تواند مدت زمان انتقال از پویانمایی بوت به صفحه ساعت را تا 30 ثانیه کاهش دهد.

برای فعال کردن راه‌اندازی سریع‌تر، android:directBootAware="true" را به صفحه نمایش ساعت اضافه کنید.

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

بهترین روش ها برای انیمیشن ها

بهترین روش ها در این بخش به کاهش مصرف انرژی مرتبط با انیمیشن ها کمک می کند.

نرخ فریم انیمیشن ها را کاهش دهید

انیمیشن ها اغلب از نظر محاسباتی گران هستند و مقدار قابل توجهی انرژی مصرف می کنند. اکثر انیمیشن ها با سرعت 30 فریم در ثانیه روان به نظر می رسند، بنابراین از اجرای انیمیشن های خود با نرخ فریم بالاتر اجتناب کنید. در عوض، می توانید از نرخ فریم پویا استفاده کنید. برای اطلاعات بیشتر، به نمونه Canvas Watch Face مراجعه کنید.

اجازه دهید CPU بین انیمیشن ها بخوابد

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

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

بهترین روش ها برای تصاویر

بهترین روش ها در این بخش به کاهش مصرف برق مرتبط با تصاویر کمک می کند.

اندازه دارایی های بیت مپ خود را کاهش دهید

بسیاری از صفحه‌های ساعت شامل یک تصویر پس‌زمینه به‌علاوه سایر دارایی‌های گرافیکی هستند که تغییر شکل داده و روی تصویر پس‌زمینه قرار می‌گیرند، مانند عقربه‌های ساعت و سایر عناصری که در طول زمان حرکت می‌کنند. هرچه این دارایی‌های گرافیکی بزرگ‌تر باشند، تبدیل آن‌ها از نظر محاسباتی گران‌تر است. به طور معمول، این عناصر گرافیکی در داخل متد Render.CanvasRenderer.render() هر بار که سیستم صفحه ساعت را دوباره ترسیم می کند، چرخانده می شوند، و گاهی اوقات مقیاس می شوند، همانطور که در Draw a watch face توضیح داده شده است.

شکل 1. عقربه های ساعت را برای حذف پیکسل های اضافی برش دهید.

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

  • از عناصر گرافیکی بزرگتر از آنچه نیاز دارید استفاده نکنید.
  • پیکسل های شفاف اضافی اطراف لبه ها را بردارید.

به عنوان مثال، اندازه تصویر عقربه ساعت در سمت چپ در شکل 1 را می توان با حذف پیکسل های شفاف اضافی، همانطور که در سمت راست شکل نشان داده شده است، 97٪ کاهش داد.

دارایی های بیت مپ را ترکیب کنید

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

هنگام ترسیم بیت مپ های مقیاس بندی شده، Anti-aliasing را غیرفعال کنید

هنگامی که با استفاده از متد Canvas.drawBitmap() یک بیت مپ کوچک شده روی شی Canvas ترسیم می کنید، می توانید یک نمونه Paint برای پیکربندی چندین گزینه ارائه دهید. برای بهبود عملکرد، با استفاده از متد setAntiAlias() را غیرفعال کنید، زیرا این گزینه هیچ تاثیری بر روی بیت مپ ندارد.

شکل 2. مثالی از فیلتر بیت مپ غیرفعال (چپ) و فعال (راست).

از فیلتر بیت مپ استفاده کنید

برای دارایی های بیت مپ که روی عناصر دیگر ترسیم می کنید، فیلتر بیت مپ را در همان نمونه Paint با استفاده از متد setFilterBitmap() فعال کنید. شکل 2 نمای بزرگنمایی شده عقربه ساعت با و بدون فیلتر بیت مپ را نشان می دهد.

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

عملیات گران قیمت را به خارج از روش ترسیم منتقل کنید

سیستم هر بار که صفحه ساعت شما را دوباره ترسیم می کند، متد Render.CanvasRenderer.render() را فراخوانی می کند. برای بهبود عملکرد، فقط عملیات‌هایی را در این روش بگنجانید که برای به‌روزرسانی صفحه ساعت کاملاً لازم است.

در صورت امکان، از انجام عملیات زیر در متد Render.CanvasRenderer.render() خودداری کنید:

  • بارگیری تصاویر و سایر منابع
  • تغییر اندازه تصاویر
  • تخصیص اشیا
  • محاسباتی که نتایج آنها بین فریم ها تغییر نمی کند

برای تجزیه و تحلیل عملکرد صفحه ساعت خود، از CPU Profiler استفاده کنید. به طور خاص، مطمئن شوید که زمان اجرای Render.CanvasRenderer.render() کوتاه و در سراسر فراخوانی سازگار است. برای اطلاعات بیشتر، به بررسی فعالیت CPU با CPU Profiler مراجعه کنید.

برنامه نمونه چهره ساعت بهترین شیوه ها را برای پیکربندی صفحه ساعت نشان می دهد.