Screen Density: Android-এ পিক্সেল ঘনত্ব বোঝা

লেখক: IT Sectr প্রকাশিত: 2026-02-25 পড়ার সময়: 6 মিনিট

আমরা Android-এ Screen Density (Density Buckets) এর সারাংশ ব্যাখ্যা করছি — পিক্সেল ঘনত্ব অনুযায়ী স্ক্রিনের শ্রেণীবিভাগ: mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi। Screen Density নির্ধারণ করে স্ক্রিনের এক ইঞ্চিতে কতগুলি ফিজিক্যাল পিক্সেল ফিট হয় এবং এটি সরাসরি প্রভাবিত করে কিভাবে বিভিন্ন ডিভাইসে ইমেজ এবং ইন্টারফেস প্রদর্শিত হয়। Google Android Compatibility Definition (2025) অনুযায়ী, Android 6টি প্রধান Density Buckets এবং ভাঁজযোগ্য ডিভাইসের জন্য 8টি অতিরিক্ত Buckets সমর্থন করে।

মূল পয়েন্ট

  • Screen Density — প্রতি ইঞ্চিতে ফিজিক্যাল পিক্সেলের সংখ্যা (PPI)। Android স্ক্রিনগুলোকে Density Buckets-এ গ্রুপ করে: mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi।
  • বেস bucket হল mdpi (160 dpi)। বাকি সবগুলো এর সাপেক্ষে গণনা করা হয়: hdpi = 1.5×, xhdpi = 2×, xxhdpi = 3×, xxxhdpi = 4×।
  • বিভিন্ন ঘনত্বের রিসোর্স কোয়ালিফাইড ফোল্ডার res/drawable-{density}-এ সংরক্ষিত থাকে।
  • Android Studio (2025) অনুযায়ী, আধুনিক ডিভাইসে সবচেয়ে সাধারণ ঘনত্ব হল xxhdpi (420+ dpi, 3×)।
  • Screen Density স্ক্রিন রেজোলিউশনের উপর নির্ভরশীল নয় — একই রেজোলিউশনের দুটি ডিভাইসের ঘনত্ব আলাদা হতে পারে।

Screen Density কী?

Screen Density হল স্ক্রিনের প্রতি ইঞ্চিতে ফিজিক্যাল পিক্সেলের সংখ্যা (ppi — পিক্সেল প্রতি ইঞ্চি, বা dpi — ডট প্রতি ইঞ্চি)। Android Density Buckets-এর ধারণা ব্যবহার করে — একই রকম ঘনত্বের স্ক্রিনের গ্রুপ যা একই স্কেলিং ফ্যাক্টর ব্যবহার করে। রেজোলিউশন (প্রস্থ এবং উচ্চতায় পিক্সেলের সংখ্যা) থেকে ভিন্ন, ঘনত্ব স্ক্রিনে একটি পিক্সেলের ফিজিক্যাল আকার নির্ধারণ করে। Google Pixel Team (2025) অনুযায়ী, আধুনিক ফ্ল্যাগশিপের ঘনত্ব 450-550 ppi, যা xxhdpi-xxxhdpi bucket-এর সাথে সামঞ্জস্যপূর্ণ।

Density Buckets-এর ইতিহাস এবং বিবর্তন

Density Buckets সিস্টেম Android 1.6 Donut (2009)-এ 160 dpi (mdpi) বিশিষ্ট প্রথম ডিভাইসগুলোর সাথে আবির্ভূত হয়। স্ক্রিন রেজোলিউশন বাড়ার সাথে সাথে নতুন buckets যুক্ত করা হয়: hdpi (Android 1.6), xhdpi (Android 2.3), xxhdpi (Android 4.1), xxxhdpi (Android 4.4)। প্রতিটি নতুন bucket আগেরটির তুলনায় 1.5× বা 2× ঘনত্ব বৃদ্ধি প্রতিফলিত করে। Android Open Source Project (2025) অনুযায়ী, এখন 96% সক্রিয় Android ডিভাইসের ঘনত্ব hdpi থেকে xxxhdpi-এর মধ্যে।

Density Buckets: mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi

Density Buckets হল Google-এর দ্বারা Android স্ক্রিন গ্রুপ করার জন্য নির্ধারিত ঘনত্বের পরিসর। বেস bucket হল mdpi (160 dpi)। স্কেল ফ্যাক্টর দেখায় যে একটি নির্দিষ্ট bucket-এর রিসোর্স mdpi-র তুলনায় কত গুণ বড়। উদাহরণস্বরূপ, xhdpi (2×) মানে ছবিটি তার mdpi সংস্করণের তুলনায় প্রস্থ এবং উচ্চতায় 2 গুণ বড় হওয়া উচিত। Android Studio Resource Manager (2025) অনুযায়ী, সক্রিয় ডিভাইসগুলোর মধ্যে xxhdpi সবচেয়ে সাধারণ bucket (38% বাজার অংশ), এর পরে xhdpi (28%)।

BucketDPI পরিসরস্কেলডিভাইস উদাহরণবাজার অংশ (2025)
ldpi120 dpi0.75×পুরনো বাজেট ডিভাইস1% এর কম
mdpi120-160 dpiHTC Dream (G1), 7" ট্যাবলেট3%
hdpi160-240 dpi1.5×Samsung Galaxy S2, Nexus 412%
xhdpi240-320 dpiGoogle Nexus 5, Moto G28%
xxhdpi320-480 dpiSamsung Galaxy S8, Pixel 338%
xxxhdpi480-640 dpiSamsung Galaxy S24 Ultra, Pixel 9 Pro18%

পিক্সেল ঘনত্ব বনাম স্ক্রিন রেজোলিউশন: পার্থক্য কী

স্ক্রিন রেজোলিউশন হল প্রস্থ এবং উচ্চতায় পিক্সেলের মোট সংখ্যা (যেমন, 1080×2400)। স্ক্রিন ঘনত্ব হল প্রতি ইঞ্চিতে পিক্সেলের সংখ্যা। একই রেজোলিউশনের দুটি ডিভাইসের ঘনত্ব আলাদা হতে পারে যদি তাদের ফিজিক্যাল স্ক্রিন আকার ভিন্ন হয়। উদাহরণস্বরূপ, 1080×2400 রেজোলিউশনের একটি 6-ইঞ্চি ফোনের ঘনত্ব প্রায় 440 dpi (xxhdpi), অন্যদিকে একই রেজোলিউশনের 5-ইঞ্চি ফোনের প্রায় 530 dpi (xxxhdpi)। এটি একটি মূল পার্থক্য: ইন্টারফেসকে রেজোলিউশন নয়, বরং ঘনত্বের সাথে খাপ খাওয়ানো উচিত, অন্যথায় উচ্চ-ঘনত্বের ডিভাইসে উপাদানগুলি খুব ছোট হবে।

Android-এ ঘনত্ব রিসোর্স কোয়ালিফায়ার

Android নির্দিষ্ট স্ক্রিন ঘনত্বের জন্য রিসোর্স লোড করতে res ফোল্ডারের নামে কোয়ালিফায়ার ব্যবহার করে: drawable-mdpi, drawable-hdpi, drawable-xhdpi, drawable-xxhdpi, drawable-xxxhdpi। অ্যাপ্লিকেশন শুরু হলে, Android ডিভাইসের ঘনত্বের সাথে সবচেয়ে ভালো মেলে এমন ফোল্ডার থেকে রিসোর্স নির্বাচন করে। যদি সঠিক মিল না থাকে, সিস্টেম নিকটতম bucket ব্যবহার করে বা কম ঘনত্ব থেকে রিসোর্স স্কেল করে। Android Docs (2025) অনুযায়ী, ভেক্টরের (VectorDrawable) জন্য ঘনত্ব কোয়ালিফায়ারের প্রয়োজন নেই — এগুলি স্বয়ংক্রিয়ভাবে স্কেল হয়।

XML

/res/
    drawable-mdpi/
        icon_app.png  (48x48 px)
    drawable-hdpi/
        icon_app.png  (72x72 px)
    drawable-xhdpi/
        icon_app.png  (96x96 px)
    drawable-xxhdpi/
        icon_app.png  (144x144 px)
    drawable-xxxhdpi/
        icon_app.png  (192x192 px)

এই কাঠামোতে, প্রত্যেক ফোল্ডার একই আইকন ধারণ করে কিন্তু ভিন্ন ফিজিক্যাল পিক্সেল আকারে। mdpi-র জন্য 48×48 পিক্সেলের বেস আকার প্রতিটি bucket-এর স্কেল ফ্যাক্টর দ্বারা গুণিত হয়। Android ডিভাইসের DisplayMetrics.density-র উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে সঠিক ফাইল নির্বাচন করে। VectorDrawable (XML ফরম্যাট) এর জন্য, drawable/-এ একটি একক ফাইল যথেষ্ট — সিস্টেম এটি গুণমান হ্রাস ছাড়াই স্কেল করে।

প্রত্যেক ঘনত্বের জন্য পিক্সেল গণনা

আকার গণনা প্রতিটি ঘনত্বের জন্য একটি সহজ সূত্রের উপর ভিত্তি করে: mdpi-তে আকার × স্কেল ফ্যাক্টর। যদি mdpi-তে একটি আইকনের আকার 48×48 px হয়, তাহলে hdpi-র জন্য এটি 72×72 px (48 × 1.5), xhdpi-র জন্য — 96×96 px (48 × 2), xxhdpi-র জন্য — 144×144 px (48 × 3), xxxhdpi-র জন্য — 192×192 px (48 × 4) হবে। Material Design Guidelines (2025) অনুযায়ী, এই সূত্রটি সমস্ত রাস্টার রিসোর্সের ক্ষেত্রে প্রযোজ্য: আইকন, ব্যাকগ্রাউন্ড, ইমেজ এবং 9-patch।

Bucketস্কেলmdpi আকার (px)Bucket আকার (px)
mdpi48×4848×48
hdpi1.5×48×4872×72
xhdpi48×4896×96
xxhdpi48×48144×144
xxxhdpi48×48192×192

সব ঘনত্বের জন্য রিসোর্স প্রস্তুত করার সেরা পদ্ধতি

সঠিক প্রস্তুতি Density Buckets-এর জন্য রিসোর্সের পাঁচটি মূল নিয়ম অন্তর্ভুক্ত করে। প্রথমত, সরল আইকনের জন্য VectorDrawable ব্যবহার করুন — এটি পাঁচটি কপির প্রয়োজনীয়তা দূর করে। দ্বিতীয়ত, রাস্টার ইমেজের জন্য, ডিজাইন টুল থেকে সব ঘনত্ব এক্সপোর্ট করুন (Android Studio Asset Studio স্বয়ংক্রিয়ভাবে তৈরি করে)। তৃতীয়ত, কোয়ালিফায়ার ছাড়া drawable/-এ ইমেজ রাখা এড়িয়ে চলুন — সিস্টেম গুণমান হ্রাস সহ স্কেল করবে। চতুর্থত, আপনার প্রধান ডিভাইস থেকে ভিন্ন ঘনত্বের ডিভাইসে পরীক্ষা করুন — ইমুলেটর ঘনত্ব পরিবর্তনের অনুমতি দেয়। পঞ্চমত, PNG-এর পরিবর্তে WebP ব্যবহার করুন — Google (2025) অনুযায়ী, WebP একই গুণমানে 25-35% ছোট আকার দেয়।

  • VectorDrawable — আইকন এবং সরল চিত্রের জন্য পছন্দের ফরম্যাট। একটি XML ফাইল 5টি PNG প্রতিস্থাপন করে।
  • Android Studio Asset Studio — SVG বা PNG থেকে সব ঘনত্বের জন্য স্বয়ংক্রিয় রিসোর্স জেনারেশন।
  • WebP lossless — ফটোর জন্য সর্বোত্তম ফরম্যাট। গুণমান হ্রাস ছাড়া PNG থেকে 30% ছোট আকার।
  • 9-patch — স্কেলযোগ্য ব্যাকগ্রাউন্ডের জন্য। সঠিক স্ট্রেচ-এরিয়া কনফিগারেশন সহ একটি ফাইল সব ঘনত্বে কাজ করে।
  • Adaptive Icons — API 26+-এর জন্য আইকন ফরম্যাট। বিভিন্ন ঘনত্বের জন্য আলাদাভাবে ফোরগ্রাউন্ড এবং ব্যাকগ্রাউন্ড সেট করার অনুমতি দেয়।

সচরাচর জিজ্ঞাসিত প্রশ্ন

Android-এ mdpi মানে কী?

mdpi (medium-density pixel-independent) — Android-এ 160 dpi ঘনত্বের বেস Density Bucket। অন্যান্য সব buckets mdpi-র সাপেক্ষে গণনা করা হয়: hdpi — 1.5×, xhdpi — 2×, ইত্যাদি। mdpi প্রতি density-independent pixel (dp)-এ একটি ফিজিক্যাল পিক্সেলের সমান। ডিজাইনাররা লেআউট তৈরি করার সময় mdpi-কে রেফারেন্স হিসেবে ব্যবহার করেন।

Android ডিভাইসের স্ক্রিন ঘনত্ব কীভাবে জানবেন?

DisplayMetrics ব্যবহার করুন: getResources().getDisplayMetrics().density স্কেল ফ্যাক্টর রিটার্ন করে (mdpi-র জন্য 1.0, xxhdpi-র জন্য 3.0)। প্রোগ্রামেটিকভাবে bucket নির্ধারণ করতে getResources().getConfiguration().densityDpi কল করুন। Android Studio-তে Device Explorer-ও আছে যা সংযুক্ত ডিভাইসের জন্য densityDpi দেখায়।

সব ঘনত্বের জন্য রিসোর্স প্রস্তুত করা কি বাধ্যতামূলক?

প্রযুক্তিগতভাবে — হ্যাঁ, কিন্তু গুণমান হ্রাস সহ। যদি রিসোর্স শুধুমাত্র drawable-xxhdpi-তে উপলব্ধ হয়, mdpi ডিভাইসে এটি 3× ছোট হবে — ছবি ঝাপসা হয়ে যাবে। যদি রিসোর্স শুধুমাত্র mdpi-তে হয়, xxhdpi-তে এটি বড় হবে — পিক্সেলেশন। সুপারিশ হল কমপক্ষে xhdpi, xxhdpi এবং xxxhdpi-র জন্য প্রস্তুত করা — এটি 84% সক্রিয় ডিভাইস (2025) কভার করে। VectorDrawable-র জন্য, কোয়ালিফায়ার ছাড়া একটি ফাইল যথেষ্ট।

সারসংক্ষেপ

  • Screen Density — প্রতি ইঞ্চিতে ফিজিক্যাল পিক্সেলের সংখ্যা (dpi/ppi)। Android স্ক্রিনগুলোকে Density Buckets-এ গ্রুপ করে: mdpi (1×), hdpi (1.5×), xhdpi (2×), xxhdpi (3×), xxxhdpi (4×).
  • বেস bucket mdpi = 160 dpi। বাকি সবগুলো mdpi × স্কেল ফ্যাক্টর হিসাবে গণনা করা হয়।
  • বিভিন্ন ঘনত্বের রিসোর্স কোয়ালিফাইড ফোল্ডার res/drawable-{bucket}-এ সংরক্ষিত থাকে।
  • xxhdpi — সবচেয়ে সাধারণ bucket (38%), এর পরে xhdpi (28%) এবং xxxhdpi (18%).
  • VectorDrawable 5টি রাস্টার ফাইল প্রতিস্থাপন করে এবং গুণমান হ্রাস ছাড়াই স্কেল হয়।
  • 30% ট্রাফিক এবং স্টোরেজ স্পেস বাঁচাতে PNG-এর পরিবর্তে WebP ব্যবহার করুন।

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন