বিলিয়ন জন্য ডিভাইস ক্ষমতা

নতুন ব্যবহারকারীদের কাছে পৌঁছানো মানে Android প্ল্যাটফর্ম সংস্করণ এবং ডিভাইসের স্পেসিফিকেশনের ক্রমবর্ধমান বৈচিত্র্যকে সমর্থন করা। ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে, সাধারণ RAM কনফিগারেশন এবং স্ক্রীনের আকার এবং রেজোলিউশনের জন্য অপ্টিমাইজ করুন।

একাধিক পর্দা মাপ সমর্থন

আপনার অ্যাপটি বিলিয়ন ব্যবহারকারীদের জন্য একটি ভাল ব্যবহারকারীর অভিজ্ঞতা প্রদান করতে পারে যদি এটি বিভিন্ন আকার এবং রেজোলিউশনের স্ক্রীন সমর্থন করে। এই বিভাগে আপনি এটি করতে পারেন এমন কয়েকটি উপায় বর্ণনা করে।

ঘনত্ব-স্বাধীন পিক্সেল ব্যবহার করুন (dp)

  • পিক্সেলের সাথে লেআউটের মাত্রা নির্ধারণ করা ভাল কাজ করে না কারণ বিভিন্ন স্ক্রিনের পিক্সেলের ঘনত্ব আলাদা, তাই একই সংখ্যক পিক্সেল বিভিন্ন ডিভাইসে বিভিন্ন শারীরিক আকারের সাথে মিলে যেতে পারে।
  • এই কাটিয়ে উঠতে অ্যান্ড্রয়েড ঘনত্ব-স্বাধীন পিক্সেল (ডিপি) সমর্থন করে, যা প্রতি ইঞ্চিতে 160 ডট (mdpi ঘনত্ব) এ একটি পিক্সেলের শারীরিক আকারের সাথে মিলে যায়।
  • dp এর সাথে লেআউট সংজ্ঞায়িত করা নিশ্চিত করে যে ডিভাইস নির্বিশেষে আপনার ইউজার ইন্টারফেসের শারীরিক আকার সামঞ্জস্যপূর্ণ। ঘনত্ব-স্বাধীন পিক্সেল ব্যবহার করার সর্বোত্তম অনুশীলনের জন্য একাধিক স্ক্রীন সমর্থন করার জন্য Android গাইড দেখুন।

ldpi এবং mdpi স্ক্রিনের ঘনত্বের উপর পাঠ্য এবং গ্রাফিক্স পরীক্ষা করুন

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

ছোট এবং মাঝারি আকারের পর্দায় লেআউট পরীক্ষা করুন

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

পশ্চাদপদ সামঞ্জস্য প্রদান

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

আপনার targetSdkVersion এবং minSdkVersion যথাযথভাবে সেট করুন

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

অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরি ব্যবহার করুন

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

Google Play পরিষেবা ব্যবহার করুন

  • Google Play পরিষেবাগুলি Android প্ল্যাটফর্ম সংস্করণ থেকে স্বাধীন Google APIগুলির সেরা নিয়ে আসে৷ অ্যান্ড্রয়েড ডিভাইসে সবচেয়ে সুগমিত Google অভিজ্ঞতা অফার করতে Google Play পরিষেবাগুলির বৈশিষ্ট্যগুলি ব্যবহার করার কথা বিবেচনা করুন৷
  • Google Play পরিষেবাগুলিতে GcmNetworkManager এর মতো দরকারী APIগুলিও অন্তর্ভুক্ত রয়েছে, যা Android এর পুরানো সংস্করণগুলির জন্য Android 5.0-এর JobScheduler API-এর অনেকটাই প্রদান করে৷
  • Google Play পরিষেবাগুলির আপডেটগুলি Google Play Store দ্বারা স্বয়ংক্রিয়ভাবে বিতরণ করা হয় এবং ক্লায়েন্ট লাইব্রেরির নতুন সংস্করণগুলি Android SDK ম্যানেজারের মাধ্যমে বিতরণ করা হয়৷

মেমরি দক্ষতার সাথে ব্যবহার করুন

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

কম খরচে ডিভাইসে মেমরি ফুটপ্রিন্ট হ্রাস

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

দীর্ঘস্থায়ী প্রক্রিয়াগুলি এড়িয়ে চলুন

  • দীর্ঘ-চলমান প্রক্রিয়াগুলি মেমরিতে থাকে এবং ডিভাইসটিকে ধীর করে দিতে পারে। বেশিরভাগ পরিস্থিতিতে, আপনার অ্যাপটি একটি প্রদত্ত ইভেন্টের জন্য জাগ্রত হওয়া উচিত, ডেটা প্রক্রিয়া করা এবং বন্ধ করা উচিত। আপনার ফায়ারবেস ক্লাউড মেসেজিং (FCM) এবং GcmNetworkManager ব্যবহার করা উচিত যাতে ব্যাকগ্রাউন্ড পরিষেবাগুলি দীর্ঘস্থায়ী না হয় এবং ব্যবহারকারীর ডিভাইসে মেমরির চাপ কম হয়৷

বেঞ্চমার্ক মেমরি ব্যবহার

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

  • অবাঞ্ছিত আবর্জনা সংগ্রহ (GC) ইভেন্ট প্যাটার্ন কর্মক্ষমতা সমস্যা সৃষ্টি করতে পারে কিনা তা খুঁজে বের করুন।
  • অপ্রত্যাশিতভাবে বা অপ্রয়োজনীয়ভাবে বরাদ্দ পাওয়া বা থাকে এমন বস্তুর ধরন সনাক্ত করুন।
  • আপনার কোডে কোথায় সমস্যা হতে পারে তা চিহ্নিত করুন।

বেঞ্চমার্কিং মেমরি ব্যবহার সম্পর্কে আরও তথ্যের জন্য, মেমরি প্রোফাইলারের সাথে হিপ এবং বরাদ্দগুলি দেখুন।

অ্যান্ড্রয়েড চলমান ডিভাইসগুলির জন্য অপ্টিমাইজ করুন (গো সংস্করণ)

Android (Go সংস্করণ) হল ≤1GB RAM সহ এন্ট্রি-লেভেল ডিভাইসগুলির জন্য একটি অপ্টিমাইজ করা অভিজ্ঞতা, Android Oreo (Go সংস্করণ) থেকে শুরু করে৷ অ্যান্ড্রয়েড (গো সংস্করণ) ডিভাইসে আপনার অ্যাপটি দুর্দান্তভাবে চলে তা নিশ্চিত করতে, আপনাকে নিম্নলিখিত নির্দেশিকাগুলি বিবেচনা করা উচিত:

  • targetSdkVersion অ্যান্ড্রয়েডের সর্বশেষ সংস্করণ হওয়া উচিত। Android (Go সংস্করণ) ডিভাইসগুলি শুধুমাত্র Android Oreo (API 27 বা উচ্চতর) চালায়।
  • অ্যাপটি ≤1GB RAM সহ ডিভাইসগুলিতে মসৃণভাবে চালানো উচিত। উপরে মেমরি দক্ষতার সাথে ব্যবহার করুন- এ তালিকাভুক্ত মেমরি অপ্টিমাইজেশানগুলি মনে রাখবেন এবং ধীর রেন্ডারিং এবং হিমায়িত ফ্রেমের মতো খারাপ আচরণগুলি সনাক্ত করতে এবং ঠিক করতে Android ভাইটালগুলি ব্যবহার করুন৷
  • পিকচার ইন পিকচার (PIP) ডিভাইসে অক্ষম করা হতে পারে। আপনার অ্যাপ পিআইপি ব্যবহার করার আগে, hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE) কল করে এটি উপলব্ধ কিনা তা নিশ্চিত করুন।
  • ডিভাইসে থাকা অ্যাপের আকার 40MB-এর থেকে ছোট হওয়া উচিত।
  • অ্যাপের RAM ব্যবহারের আনুপাতিক সেট সাইজ (PSS) 90MB এর বেশি হওয়া উচিত নয়। গেমগুলির জন্য, গেমের RAM ব্যবহারের PSS 150MB এর বেশি হওয়া উচিত নয়৷ PSS সম্পর্কে আরও তথ্যের জন্য, আপনার RAM ব্যবহারের নির্দেশিকা তদন্ত করুন।
  • অ্যাপের স্টার্টআপ সময় ন্যূনতম এবং 5 সেকেন্ডের কম হওয়া উচিত।
  • SYSTEM_ALERT_WINDOW (যা অ্যাপগুলিকে অন্যান্য অ্যাপের উপরে একটি উইন্ডো আঁকার অনুমতি দেয়) কম RAM আছে এমন Android Go ডিভাইসগুলিতে অক্ষম করা হতে পারে। অন্যান্য অ্যাপের উপর আঁকার আগে, Settings.canDrawOverlays() এ কল করে আপনার অ্যাপের এই অনুমোদন আছে কিনা তা পরীক্ষা করুন। যদি আপনার অ্যাপটি অনুমতি না পেতে পারে, তাহলে আপনার অ্যাপটিকে ভালোভাবে ডিগ্রেড করুন যাতে ব্যবহারকারী আপনার অ্যাপ ব্যবহার করা চালিয়ে যেতে পারে, সম্ভবত SYSTEM_ALERT_WINDOW অনুমতির প্রয়োজন এমন বৈশিষ্ট্যটি অক্ষম করে৷

আমরা সুপারিশ করি যে বেশিরভাগ বিকাশকারীরা তাদের বিদ্যমান অ্যাপটি অপ্টিমাইজ করে, যা সমস্ত Android (Go সংস্করণ) ডিভাইসে উপলব্ধ হবে, কারণ আপনার অ্যাপটি দ্রুত এবং হালকাভাবে চালানোর ফলে আপনার পুরো দর্শকদের উপকার হবে। আপনি Android (Go সংস্করণ) ডিভাইসের জন্য একটি নির্দিষ্ট APK বিতরণ করতে Play Console-এ একাধিক APK বৈশিষ্ট্য ব্যবহার করতে পারেন তবে অভিজ্ঞতার সাথে আপস না করেই আপনার তা করা উচিত (যেমন বৈশিষ্ট্যগুলি সরানো এড়ানো উচিত)। Android (Go সংস্করণ) ডিভাইসগুলিকে টার্গেট করা APK-কে <uses-feature android:name="android.hardware.ram.low" android:required="true"> হবে, কমপক্ষে API স্তর 26 টার্গেট করতে হবে এবং একটি উচ্চতর সংস্করণ থাকতে হবে নন-গো সংস্করণ APK থেকে কোড।

অতিরিক্ত সম্পদ

বিভিন্ন ধরণের ডিভাইস সমর্থন করার বিষয়ে আরও জানতে, নিম্নলিখিত সংস্থানটি দেখুন:

ব্লগ এর লেখাগুলো