শক্তি এবং ব্যাটারি সংরক্ষণ করুন

Wear OS-এ পাওয়ার দক্ষতা বিশেষভাবে গুরুত্বপূর্ণ। Wear OS ডিজাইন নীতিগুলি ডিভাইস পাওয়ার ব্যবহারের উপর উল্লেখযোগ্যভাবে ফোকাস করে কারণ ঘড়িটি একটি ছোট ফর্ম-ফ্যাক্টর, যা সংক্ষিপ্ত মিথস্ক্রিয়াগুলির জন্য বোঝানো হয়।

বড় মোবাইল ডিভাইসের তুলনায়, Wear OS ডিভাইসে ছোট ব্যাটারি থাকে, তাই যেকোনো ব্যাটারি ড্রেন বেশি লক্ষণীয়। অধিকন্তু, একটি মোবাইল ডিভাইসের তুলনায় একটি Wear OS ডিভাইস চার্জ করতে ব্যবহারকারীর আরও বেশি প্রচেষ্টা লাগে। যদিও ব্যবহারকারীরা তাদের মোবাইল ডিভাইসগুলিকে সারাদিন বিভিন্ন বিরতিতে চার্জ করতে পারে, ডিভাইসটি চার্জ করার আগে তাদের শরীর থেকে একটি Wear OS ডিভাইস আলাদা করতে হবে।

আপনার অ্যাপের পাওয়ার দক্ষতা উন্নত করতে, এই ডিজাইনের সেরা অনুশীলনগুলি অনুসরণ করুন:

  • আপনার অ্যাপের ডিজাইনে Wear OS ফর্ম ফ্যাক্টরের ভালো ব্যবহার করা উচিত। এটি সরাসরি আপনার মোবাইল অ্যাপ কপি করা উচিত নয়।
  • নির্দিষ্ট ব্যবহারের ক্ষেত্রে সাহায্য করতে আপনার বিদ্যমান মোবাইল অ্যাপ ব্যবহার করুন। উদাহরণস্বরূপ, ঘড়িতে ইন্টারনেট এবং সিঙ্ক্রোনাইজেশন ব্যয়বহুল; মোবাইল ডিভাইস ভারী উত্তোলন করতে পারে কিনা তা বিবেচনা করুন এবং Wear OS ডিভাইস ডেটাতে পরিবর্তনগুলি গ্রহণ করে।
  • সংক্ষিপ্ত মিথস্ক্রিয়া জন্য আপনার ব্যবহারের ক্ষেত্রে ডিজাইন.
  • আপনি কোন Wear OS ইভেন্টগুলি ব্যবহার করেন এবং এই ঘটনাগুলি কত ঘন ঘন ঘটে তা বিবেচনা করুন।
  • যখনই সম্ভব, ঘড়ি চার্জ না হওয়া পর্যন্ত আপনার অ্যাপের কাজ পিছিয়ে দিন। এটি বিশেষত ডেটা-নিবিড় কাজগুলিতে প্রযোজ্য, যেমন ডেটা সিঙ্ক করা এবং ডেটাবেসগুলি সংগঠিত করা।

    যদি ডিভাইসটি চার্জ করা হয় এবং একটি Wi-Fi সংযোগ থাকে, তাহলে ব্যবহারকারী সম্ভবত আপনার অ্যাপে দেখতে চায় এমন ডেটা, ছবি এবং আপডেটগুলি প্রিফেচ করার জন্য কাজের সময় নির্ধারণ করুন।

এই পাওয়ার গাইড আপনাকে বুঝতে সাহায্য করে কখন এবং কীভাবে সিস্টেম আপনার অ্যাপ চালায় এবং কীভাবে আপনি আপনার অ্যাপের রানটাইম এবং ব্যাটারি ড্রেন সীমিত করতে পারেন। কীভাবে নির্দিষ্ট অ্যাকশনগুলি অর্জন করা হয়—যেমন একটি অ্যাপ লোড করা বা একটি তালিকার মাধ্যমে স্ক্রোল করা—সে সম্পর্কে আরও জানতে পারফরম্যান্স সম্পর্কিত নির্দেশিকা দেখুন, যেমন Wear OS কর্মক্ষমতা নির্দেশিকা রচনা করুন

সময়ের সাথে সাথে ব্যাটারির ব্যবহার নিরীক্ষণ করুন

আপনার অ্যাপটি চালায় এমন একটি Wear OS ডিভাইসের ব্যাটারি পরিসংখ্যান বিশ্লেষণ করতে, আপনার ডেভেলপমেন্ট মেশিনের একটি টার্মিনাল উইন্ডোতে নিম্নলিখিত কমান্ডটি প্রবেশ করান:

adb shell dumpsys batterystats

গিটহাবের একটি লাইব্রেরিতে একটি ব্যাটারি পরিসংখ্যান পার্সার রয়েছে, যা এই কমান্ডের সাথে চালানোর জন্য উপযোগী হতে পারে।

ব্যাটারির আয়ুকে প্রভাবিত করে এমন ঘটনা

আপনার অ্যাপ সম্পর্কে বিশেষভাবে চিন্তা করার আগে, Wear OS ডিভাইসে শক্তি খরচ করে এমন ইভেন্টগুলি সম্পর্কে আরও সাধারণভাবে চিন্তা করা মূল্যবান।

নিম্নলিখিত সারণীটি Wear OS অ্যাপের বেশ কয়েকটি সাধারণ ইভেন্ট জুড়ে ব্যাটারির জীবনের উপর আপেক্ষিক প্রভাব দেখায়। সঠিক পাওয়ার ড্রেন ডিভাইসগুলির মধ্যে পরিবর্তিত হয়।

ঘটনা ব্যাটারি জীবনের উপর প্রভাব কিভাবে প্রশমিত করা যায়
LTE এবং Wi-Fi সহ নেটওয়ার্ক অ্যাক্সেস করুন৷ সুউচ্চ ডিভাইসটি চার্জ না হওয়া পর্যন্ত অ-প্রয়োজনীয় নেটওয়ার্ক অ্যাক্সেস স্থগিত করুন।
স্ক্রিনটি চালু করুন এবং ইন্টারেক্টিভ মোড শুরু করুন উচ্চ প্রয়োজনের চেয়ে বেশি সময় স্ক্রীন চালু রাখতে ব্যবহারকারীকে উৎসাহিত করবেন না। একটি অভিজ্ঞতা প্রদান করুন যা সর্বদা-অন মোড ব্যবহার করে, যা পরিবেষ্টিত মোড নামেও পরিচিত।
জিপিএস সেন্সর অ্যাক্সেস করুন উচ্চ যদি সম্ভব হয়, ব্যবহারকারী জিপিএস অ্যাক্সেসের অনুরোধ না করা পর্যন্ত অপেক্ষা করুন।
সিপিইউ ব্যবহার বেশি রাখুন উচ্চ জেটপ্যাক কম্পোজ ব্যবহার করে প্রবাহ ব্যবহার করুন
হার্ট রেট সেন্সর অ্যাক্সেস করুন মধ্যম সেন্সর API থেকে কলব্যাক গ্রহণ করার সময় প্রসেসরের জেগে থাকার সময় ব্যবহার করুন, যেমন Wear OS এ স্বাস্থ্য পরিষেবা ব্যবহার করার সময়।
ব্লুটুথের মাধ্যমে অন্য ডিভাইস অ্যাক্সেস করুন মধ্যম সেশন সংক্ষিপ্ত রাখুন।
একটি wakelock রাখা মধ্যম ওয়েকলকের ম্যানুয়াল তৈরি হ্রাস করুন এবং WorkManager ব্যবহার করুন।

স্ক্রিন অন টাইম মিনিমাইজ করুন

আপনার Wear OS অ্যাপে, এই স্ক্রিন ব্যবহারের নীতিগুলি অনুসরণ করুন:

  • স্ক্রিন-অন লক: যখনই সম্ভব এড়িয়ে চলুন। পরীক্ষা করতে, সিস্টেম সেটিংসে সর্বদা-অন ডিসপ্লে বন্ধ করুন এবং সময়সীমার মধ্যে স্ক্রীন বন্ধ হয়ে যায় কিনা তা পর্যবেক্ষণ করুন।
  • অ্যানিমেশন: বিস্তৃত অ্যানিমেশন ছোট করুন, এবং পরিবর্তে আরও পেশাদার চেহারার জন্য সংক্ষিপ্ত রূপান্তরের উপর ফোকাস করুন। বিশেষ করে, দীর্ঘস্থায়ী অ্যানিমেশন এবং লুপ এড়িয়ে চলুন। যদি একটি লুপ প্রয়োজন হয়, লুপগুলির মধ্যে একটি বিরতি যোগ করুন যা কমপক্ষে অ্যানিমেশনের মতো দীর্ঘ।
  • পরিবেষ্টিত মোডে জাগ্রত সময়: প্রয়োজনে সমর্থন সর্বদা চালু, যেমন ফিটনেস ব্যবহারের ক্ষেত্রে। আপনার অ্যাপ্লিকেশানটি সর্বদা চালু করার প্রয়োজন হলে, ডিভাইসটি পরিবেষ্টিত মোডে থাকা অবস্থায় আপনার অ্যাপ নিম্নলিখিতগুলি করে কিনা তা পরীক্ষা করুন:

    • ডিভাইসের স্ক্রিনের শতকরা হার কমিয়ে দেয় যা আলোকিত হয়।
    • অ্যানিমেশন দেখায় না।
    • একটি onAmbientUpdate() কলব্যাকের সময় ছাড়া স্ক্রীনের সামগ্রী আপডেট করে না।

CPU ব্যবহার কম করুন

আপনার Wear OS অ্যাপে, এই CPU ব্যবহারের নীতিগুলি অনুসরণ করুন:

  • ব্যবহার সংক্ষিপ্ত রাখুন।
  • আপনার অ্যাপের প্রক্রিয়াটি নিষ্ক্রিয় থাকার সময়কে সর্বাধিক করার জন্য যেকোনো সম্পর্কিত ক্রিয়াকলাপগুলি ব্যাচ করুন৷

wakelocks ছোট করুন

বেশিরভাগ ক্ষেত্রে, আপনার অ্যাপকে ঘুমাতে বাধা দেয় এমন কোনো অপারেশন এড়িয়ে চলুন, যেমন wakelocks । উদাহরণস্বরূপ, স্বাস্থ্য ও ফিটনেস অ্যাপে, দীর্ঘ সময় ধরে চলা ওয়ার্কআউটের জন্য ওয়েকলকের প্রয়োজন হয় না। সেন্সর API থেকে কলব্যাক গ্রহণ করার সময় প্রসেসরের জেগে থাকার সময় ব্যবহার করুন, যেমন Wear OS এ স্বাস্থ্য পরিষেবা ব্যবহার করার সময়।

এমন কিছু ক্ষেত্রে রয়েছে যেখানে একটি ওয়েকলক অর্জন করা ঠিক আছে, যেমন যখন আপনার অ্যাপ নিম্নলিখিতগুলির মধ্যে একটি করে:

  • পটভূমিতে মিডিয়া চালায়।
  • WorkManager বা JobScheduler ব্যবহার করে। (ব্যাকগ্রাউন্ডে কাজ চালানোর সময় সিস্টেমটি আপনার পক্ষ থেকে একটি ওয়েকলক ধারণ করে।)

ব্যাটারি হিস্টোরিয়ান আপনাকে লম্বা ওয়েকলকের স্বতন্ত্র ঘটনা দেখতে দেয়, সেইসাথে ওয়েকলকের মোট সংখ্যা এবং সময়কালের সারাংশ দেখতে দেয়। আপনার অ্যাপ ধারণ করা wakelocks সংখ্যা এবং সময়কাল পরিদর্শন করুন, এবং আপনার অ্যাপের ইন্টারেক্টিভ ব্যবহারের ধরণগুলির সাথে এই তথ্যের তুলনা করুন:

  • অপ্রত্যাশিত wakelocks জন্য পরীক্ষা করুন.
  • যদি সময়কাল প্রত্যাশার চেয়ে বেশি হয়, তাহলে বিবেচনা করুন যে কাজটি কিছু নির্ভরতার উপর ব্লক করা হয়েছে, যেমন নেটওয়ার্কের প্রাপ্যতা।

আপনার অ্যাপ কিভাবে নিষ্ক্রিয় হয়ে যায় তা পরিদর্শন করুন

নিম্নলিখিতগুলির মতো মূল ডিভাইস ইভেন্টগুলি ঘটলে সক্রিয় অ্যাপটি কী করছে তা বিবেচনা করুন:

  • স্ক্রিন বন্ধ হয়ে যায় এবং ডিভাইসটি পরিবেষ্টিত মোডে প্রবেশ করে।
  • অ্যাপটি সোয়াইপ-খারিজ করা হয়েছে।

অ্যাপের কার্যকলাপ বিশ্লেষণ করতে, নিম্নলিখিত বিভাগে দেখানো টুলগুলি ব্যবহার করুন।

এনার্জি প্রোফাইলার

এনার্জি প্রোফাইলারটি অ্যান্ড্রয়েড স্টুডিও মেনুতে ভিউ > টুল উইন্ডোজ > প্রোফাইলার নির্বাচন করে অ্যাক্সেসযোগ্য:

  1. স্ক্রীন বন্ধ হয়ে গেলে এবং ডিভাইসটি পরিবেষ্টিত মোডে প্রবেশ করার সাথে সাথে সিস্টেম ট্রেসটি পরিদর্শন করুন।
  2. চলতে থাকা যেকোনো কাজ এবং ডিভাইসের CPU ব্যবহারের স্তরের জন্য দেখুন।

পারফেটো

Perfetto আপনাকে একটি ট্রেস রেকর্ড করতে দেয় এবং তারপরে স্ক্রীনটি বন্ধ হয়ে গেলে, ডিভাইসটি অ্যাম্বিয়েন্ট মোডে প্রবেশ করলে বা ব্যবহারকারী আপনার অ্যাপের কার্যকলাপ খারিজ করে দিলে কোনো থ্রেড কাজ করছে কিনা তা দেখতে আপনার অ্যাপটি পরীক্ষা করতে দেয়।

ডোমেন-নির্দিষ্ট ইভেন্টগুলি সহ আপনার অ্যাপের উল্লেখযোগ্য ইভেন্টগুলি চিহ্নিত করতে কাস্টম ইভেন্টগুলি সংজ্ঞায়িত করুন৷ একটি মিডিয়া অ্যাপের জন্য, এতে প্লেলিস্ট আনা, একটি নির্দিষ্ট মিডিয়া আইটেম ডাউনলোড করা, প্লেব্যাক শুরু করা এবং প্লেব্যাক বন্ধ করার মতো কাজ অন্তর্ভুক্ত থাকবে। এই ইভেন্টগুলি সংজ্ঞায়িত করে, আপনি সেগুলিকে পারফেটোতে দেখতে পারেন এবং আপনার অ্যাপের CPU এবং পাওয়ার ব্যবহারের সাথে তাদের সময় তুলনা করতে পারেন৷

আপনার অ্যাপের নির্ধারিত কাজ বিশ্লেষণ করুন

নির্ধারিত কাজ, WorkManager ব্যবহার করে, আপনাকে আপনার অ্যাপে ব্যাকগ্রাউন্ডের কাজ করতে দেয়। যদিও কিছু ব্যাকগ্রাউন্ডের কাজ অবশ্যই পর্যায়ক্রমিক হতে হবে, খুব ঘন ঘন বা দীর্ঘ সময়ের জন্য কাজগুলি চালাবেন না, কারণ এটি ডিভাইসের ব্যাটারি নিষ্কাশন করতে পারে।

সামগ্রিকভাবে ( সিস্টেম পরিসংখ্যান > চাকরির সময়সূচির পরিসংখ্যান ) এবং অ্যাপের মাধ্যমে ( অ্যাপের পরিসংখ্যান > নির্ধারিত চাকরি ) উভয় ক্ষেত্রেই নির্ধারিত চাকরির কার্য সম্পাদন পরিদর্শন করতে ব্যাটারি হিস্টোরিয়ান ব্যবহার করুন। মোট গণনা এবং মোট সময়কাল পরীক্ষা করুন:

  • যদি একটি কাজ খুব ঘন ঘন চলে, তাহলে এই ফ্রিকোয়েন্সি কমানোর কথা বিবেচনা করুন।
  • পরীক্ষা করে দেখুন যে মোট নির্বাহের সময় আপনার প্রত্যাশার সাথে মিলে যায় এবং উল্লেখযোগ্যভাবে দীর্ঘ নয়।

এছাড়াও, ব্যাটারি হিস্টোরিয়ান গ্রাফ পরিদর্শন করুন, প্রতিটি জব-শিডিউলার এন্ট্রি দেখে। যখন আপনি একটি নির্দিষ্ট এন্ট্রিতে পয়েন্টার ধরে রাখেন, তখন ব্যাটারি হিস্টোরিয়ান এক্সিকিউটিং কাজের মালিককে দেখায়। নিম্নোক্ত বিবেচনা কর:

  • আপনার অ্যাপের জন্য, কার্যকর করার সময়কাল বোঝা উচিত।
  • আপনার অ্যাপ চলাকালীন কাজগুলি ঘটবে কিনা বা চাকরিগুলি পর্যায়ক্রমিক ব্যাকগ্রাউন্ড কাজের প্রতিনিধিত্ব করে কিনা তা বিবেচনা করুন।

সেন্সর

Wear OS ডিভাইসে বিভিন্ন সেন্সর থাকে, যেমন GPS। বেশিরভাগ ক্ষেত্রে, SensorManager এর সাথে সরাসরি ইন্টারঅ্যাক্ট করার পরিবর্তে Wear OS-এ স্বাস্থ্য পরিষেবা ব্যবহার করুন। অনেক ক্ষেত্রে, ব্যাটারির কর্মক্ষমতা উন্নত করতে স্বাস্থ্য পরিষেবাগুলি বুদ্ধিমত্তার সাথে ডেটা ব্যাচ করে।

আপনার অ্যাপে সেন্সর ব্যবহার বিশ্লেষণ করতে, আপনার ডেভেলপমেন্ট মেশিনে একটি টার্মিনাল উইন্ডোতে নিম্নলিখিত কমান্ডটি চালান:

adb shell dumpsys sensorservice

এই কমান্ডের ফলাফল নিম্নলিখিত দেখায়:

  • বর্তমান এবং পূর্ববর্তী সেন্সর নিবন্ধন.
  • সেট করা থাকলে ব্যাচিং সহ সেন্সর কনফিগারেশন।
  • সাম্প্রতিক নমুনা তথ্য.

সেন্সর থেকে পরীক্ষা অনিবন্ধন

আপনার অ্যাপ প্রত্যাশা অনুযায়ী সেন্সর ডেটা আনা বন্ধ করে কিনা তা পরীক্ষা করতে, নিম্নলিখিত পরিস্থিতিতে পরীক্ষা করুন:

  1. আপনার অ্যাপ সোয়াইপ-খারিজ করুন।
  2. আপনার হাতের তালু দিয়ে পর্দায় আলতো চাপুন। এটি হয় স্ক্রীনটি বন্ধ করে দেয় বা স্ক্রীনটিকে অ্যাম্বিয়েন্ট মোডে রাখে।

সেন্সরটি সঠিকভাবে অনিবন্ধিত হিসাবে দেখায় কিনা তা পরীক্ষা করতে পূর্ববর্তী বিভাগ থেকে ADB কমান্ডটি ব্যবহার করুন৷

ডেটা লেয়ার

ডেটা লেয়ার API ব্যবহার করার সময়, প্রতিটি ট্রান্সমিশন কিছু শক্তি ব্যবহার করে। বিশেষ করে, আপনি যদি ডেটা পাঠাতে এই API ব্যবহার করেন, তাহলে আপনার অ্যাপকে অবশ্যই ডেটা গ্রহণ করতে জেগে উঠতে হবে। এই কারণে, এই API-এর ব্যবহারে রক্ষণশীল হোন।

ডেটা লেয়ার API ব্যবহার করার জন্য কিছু অতিরিক্ত সেরা অনুশীলনের মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

  • WearableListenerService ব্যবহার করে শ্রোতা সেট আপ করার আগে আপনার অ্যাপ সক্রিয় না হওয়া পর্যন্ত অপেক্ষা করুন।
  • দ্রুত আপডেট কনফিগার করার পরিবর্তে রাজ্যের পরিবর্তনগুলি প্রেরণ করুন। এই অবস্থার পরিবর্তনগুলি Wear OS ডিভাইসটিকে স্থানীয় ডেটা গণনা করতে দেয়, যেমন কখন একটি ওয়ার্কআউট সেশন শুরু হয়।

    শুধুমাত্র রাজ্যের পরিবর্তনগুলি প্রেরণ করে যা আপনার UI আপডেট করে। উদাহরণ স্বরূপ, যদি আপনার অ্যাক্টিভিটি স্ক্রীন শুধুমাত্র একটি দশমিক স্থানে "কিলোমিটার দৌড়" দেখায়, তাহলে প্রতিবার ব্যবহারকারী অন্য মিটার এগিয়ে যাওয়ার সময় Wear OS-এ স্টেট পরিবর্তন পাঠাবেন না।

আপনার অ্যাপে ডেটা লেয়ার API ব্যবহার বিশ্লেষণ করতে, আপনার ডেভেলপমেন্ট মেশিনে একটি টার্মিনাল উইন্ডোতে নিম্নলিখিত কমান্ডটি চালান:

adb shell dumpsys activity service WearableService

এই কমান্ডের ফলাফল নিম্নলিখিত অন্তর্ভুক্ত:

  • RpcService: MessageClient ব্যবহার করে কত ঘন ঘন এবং কোন পাথকে কল করা হচ্ছে তা আপনাকে দেখতে দেয়।
  • DataService: DataClient ব্যবহার করে কত ঘন ঘন ডেটা আইটেম সেট করা হচ্ছে তা আপনাকে দেখতে দেয়।

স্বাস্থ্য এবং ফিটনেস অ্যাপ্লিকেশন

আপনি যদি একটি স্বাস্থ্য এবং ফিটনেস অ্যাপ বজায় রাখেন, তাহলে আপনার অ্যাপের সেন্সর ব্যবহার অপ্টিমাইজ করতে স্বাস্থ্য পরিষেবা ব্যবহার করুন।

টাইলস এবং জটিলতা

যদি আপনার অ্যাপটি একটি টাইল বা জটিলতা সমর্থন করে, তাহলে এই সেরা অনুশীলনগুলি অনুসরণ করুন:

  • স্বয়ংক্রিয় রিফ্রেশ অক্ষম করুন, বা রিফ্রেশের হার 2 ঘন্টা বা তার বেশি বাড়িয়ে দিন।
  • ডেটা আপডেট পাঠাতে Firebase ক্লাউড মেসেজিং (FCM) বা উপযুক্তভাবে নির্ধারিত কাজ ব্যবহার করুন। আপডেটের দ্রুত হার রোধ করার জন্য সতর্কতা অবলম্বন করুন, যা ব্যবহারকারী বা প্ল্যাটফর্ম সেই কাজটি সম্পাদন করার জন্য প্রয়োজনীয় ডেটা অ্যাক্সেস করতে পারে তার চেয়ে দ্রুত হারে সিস্টেম বারবার কাজের সময় নির্ধারণ করতে পারে।
  • আপনার টাইল বা জটিলতার জন্য কাজের সময়সূচী করবেন না যখন ব্যবহারকারী এটির সাথে ইন্টারঅ্যাক্ট করছে না।
  • অফলাইন-প্রথম পন্থা ব্যবহার করুন।
  • আপনার প্রধান অ্যাপ, টাইলস এবং জটিলতা জুড়ে একটি ডাটাবেস শেয়ার করুন। এটি UI সারফেস জুড়েও ডেটা সামঞ্জস্যপূর্ণ থাকতে সাহায্য করে।
{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}