আপনার ওয়াচফেসের জন্য মেমরি ব্যবহার অপ্টিমাইজ করা

Wear OS মেমরি ব্যবহার ট্র্যাক করার মাধ্যমে ব্যাটারির আয়ু উন্নত করে। Wear OS অ্যাপ কোয়ালিটি নির্দেশিকা অনুযায়ী, Watch Face Format ব্যবহার করা ওয়াচফেসে মেমরি সংক্রান্ত সীমা থাকে:

  • অ্যাম্বিয়েন্ট মোড: সর্বাধিক ১০ এমবি মেমরি ব্যবহার করা যাবে।
  • ইন্টার‍্যাক্টিভ মোড: সর্বাধিক ১০০ এমবি মেমরি ব্যবহার করা যাবে।

মেমরি ব্যবহারের হিসেব

ওয়াচ ফেস ফর্ম্যাট ব্যবহার করে ওয়াচ ফেসে কোনও ছবি বা বিটম্যাপ ফন্টের জন্য মেমরি ব্যবহার গণনা করতে, সিস্টেম নিম্নলিখিত কাজগুলি করে:

  1. ছবি বা ফন্ট ডিকম্প্রেস করুন।
  2. নিম্নলিখিত অপ্টিমাইজেশন প্রযোজ্য কিনা চেক করুন:
    • স্ক্রিনে আরও ভালোভাবে ফিট করার জন্য সাইজ পরিবর্তন করা
    • স্বচ্ছ পিক্সেল ক্রপ করা
    • RGB565-এ ডাউনস্যাম্পেল করা, কোয়ালিটি অক্ষুণ্ণ রেখে

ফলাফলস্বরূপ বাউন্ডিং বক্সের উপর ভিত্তি করে, সাইজ নিম্নলিখিতভাবে গণনা করা হয়:

  • RGBA8888 ব্যবহার করা ছবি ও ফন্টের জন্য: ৪ x প্রস্থ x উচ্চতা
  • RGB565 ব্যবহার করা ছবি ও ফন্টের জন্য: ২ x প্রস্থ x দৈর্ঘ্য
  • ALPHA_8 বিটম্যাপ কনফিগারেশন ব্যবহার করা ছবি ও ফন্টের জন্য: প্রস্থ x উচ্চতা

ইন্টার‍্যাক্টিভ মোড

ইন্টার‍্যাক্টিভ মোডের জন্য মেমরি ব্যবহার গণনা করতে, সিস্টেম নিম্নলিখিত মানগুলির যোগফল বের করে:

  1. যেকোনও ভেক্টর ফন্টের প্রসেস না করা সাইজ
  2. সিস্টেমের ডিফল্ট ফন্টের আনুমানিক ব্যবহার
  3. ক্রপিং, রিসাইজিং ও রিফর্ম্যাটিং প্রয়োগ করার পরে ছবি ও বিটম্যাপ ফন্টের মোট সাইজ

কনফিগারেশন

কনফিগারেশন সহ ওয়াচফেসের ক্ষেত্রে, সিস্টেম বিভিন্ন কনফিগারেশন জুড়ে ওয়াচফেস রিসোর্সের মোট সাইজ গণনা করার চেষ্টা করে। কম্বিনেশনের সংখ্যা খুব বেশি হলে, কতগুলি রিসোর্স একই সাথে ব্যবহার করা হচ্ছে তা সিস্টেম বেশি করে অনুমান করতে পারে।

অ্যাম্বিয়েন্ট মোড ও লেয়ার

সিস্টেম ধরে নেয় যে অ্যাম্বিয়েন্ট মোড সর্বাধিক তিনটি ফুল-স্ক্রিন লেয়ার ব্যবহার করে, যার মধ্যে দুটি স্ট্যাটিক। লেয়ারের মধ্যে এগুলি অন্তর্ভুক্ত:

  1. ওয়াচফেসের ব্যাকগ্রাউন্ড। ব্যাকগ্রাউন্ডে যতগুলি ছবিই থাকুক না কেন, সিস্টেম এটিকে একটি ছবি হিসেবেই ধরে নেয়।
  2. হাত, ডিজিটাল ডিসপ্লে বা ডায়নামিক এলিমেন্টের মতো নড়াচড়া করা অংশ।
  3. সোর্স XML ফাইলের বাকি এলিমেন্ট।

অ্যাম্বিয়েন্ট মোডে বড় বিটম্যাপ ফন্ট প্রায়ই সবচেয়ে বেশি মেমরি ব্যবহার করে।

মেমরি ব্যবহার কমানোর পদ্ধতি

মেমরি ব্যবহার কমানোর জন্য নিম্নলিখিত অপ্টিমাইজেশন ব্যবহার করুন।

বিটম্যাপ ফন্ট ক্রপ ও রিসাইজ করা

ডিসপ্লে সাইজের সাথে ম্যাচ করাতে আপনার ছবি ও BitmapFont অবজেক্ট ক্রপ করুন।

Wear OS সব ছবি ডিকম্প্রেস করে ওয়াচফেস আঁকে। বেশিরভাগ অংশ ফাঁকা ফুল-স্ক্রিন ছবি ডিস্কে ৩ কেবি জায়গা নিতে পারে, কিন্তু ৪৫০-পিক্সেল x ৪৫০-পিক্সেল স্ক্রিনে ৭৫০ কেবি বা তার বেশি জায়গা নিতে পারে।

বিরামচিহ্ন সহ বিটম্যাপ ফন্টের উচ্চতা একই রাখুন

BitmapFont ব্যবহার করার সময়, নিশ্চিত করুন যে কোনও চরিত্রের সব ছবির উচ্চতা যেন একই হয়। একইভাবে, শব্দের জন্য সব ছবির উচ্চতা একই আছে কিনা তা নিশ্চিত করুন।

অ্যানিমেশনে একই সাইজের ফ্রেম ব্যবহার করা

ওয়াচ ফেসে ছবি সরানোর পরিবর্তে, ছবির এলিমেন্ট আপডেট করুন এবং বাউন্ডিং বক্সের পজিশন ফিক্সড রাখুন। যেমন, আপনার ওয়াচফেসে একটি বৃত্তকে অ্যানিমেট করতে, এটিকে রোল না করে এর রঙ পরিবর্তন করুন।

এই টেকনিক অ্যানিমেশনের ক্যালকুলেট করা বাউন্ডিং বক্সের সাইজ ছোট করে দেয়।

ডুপ্লিকেট ছবি সরিয়ে দেওয়া

কোনও ছবি একাধিকবার দেখাতে, শুধুমাত্র একটি ছবি রিসোর্স যোগ করুন এবং এটিকে একাধিকবার রেফারেন্স করুন।

আর্ক ব্যবহার করে প্রোগ্রেস দেখানো

১ মিনিট বা ১ ঘণ্টা পরে প্রগ্রেস বার শেষ হওয়ার সিমুলেশন করতে, ৬০ টি ছবি ব্যবহার করবেন না। এখানে দেখানো হয়েছে এমন একটি এক্সপ্রেশন কন্ট্রোল করে এমন দৈর্ঘ্য সহ Arc অবজেক্ট ব্যবহার করুন:

<PartDraw angle="0" width="400" height="400" name="ProgressBar"
    pivotX="0.5" pivotY="0.5" x="25" y="25">
    <Arc centerX="200" centerY="200" width="400" height="400"
        startAngle="0" endAngle="360">
        <!-- Completes a "progress loop" every minute. -->
        <Transform target="endAngle"
            value="0 + (clamp([SECOND], 0, 60) - 0) * 6" />
        <Stroke cap="ROUND" color="#654456" thickness="10" />
    </Arc>
</PartDraw>

অবিচ্ছিন্ন লাইন দেখাতে, যেমন রেট্রো ডিজিটাল ওয়াচ স্টাইলের লুক পেতে, Stroke অবজেক্টের জন্য ড্যাশ প্রপার্টি অথবা সেমিট্রান্সপারেন্ট মাস্ক ইমেজ ওভারলে ব্যবহার করুন।

সোর্স ফাইলের শেষে ঘড়ির কাঁটা ও কমপ্লিকেশন প্লেস করা

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

আপনার ওয়াচফেসের মেমরি ব্যবহার মূল্যায়ন করা

আপনার ওয়াচফেসের মেমরি ব্যবহার পরিমাপ করতে, মেমরি ফুটপ্রিন্ট ইভ্যালুয়েটর টুল ব্যবহার করুন, যা GitHub-এ watchface রিপোজিটরিতে উপলভ্য।

  • মনে রাখবেন: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট দেখানো হয়
  • Arc
  • লাইন
  • আয়তাকার