অ্যান্ড্রয়েড 10 রিলিজ নোট

এই পৃষ্ঠায় অ্যান্ড্রয়েড ১০ রিলিজের প্রধান ফিচারগুলোর সারসংক্ষেপ দেওয়া হয়েছে এবং অতিরিক্ত তথ্যের জন্য লিঙ্ক প্রদান করা হয়েছে। এই ফিচার সারাংশগুলো এই সাইটে ফিচারটির ডকুমেন্টেশনের অবস্থান অনুসারে সাজানো হয়েছে।

নির্মাণ করুন

জাভা_এসডিকে_লাইব্রেরি

অ্যান্ড্রয়েড ১০-এ java_sdk_library নামে একটি নতুন বিল্ড রুল চালু করা হয়েছে, যা শেয়ার্ড জাভা লাইব্রেরিগুলোর সামঞ্জস্যতার সমস্যা সমাধান করে। ডিভাইস নির্মাতারা তাদের নিজস্ব শেয়ার্ড জাভা লাইব্রেরির এপিআইগুলোর পশ্চাৎ সামঞ্জস্যতা (backward compatibility) বজায় রাখার জন্য এই পদ্ধতিটি ব্যবহার করতে পারেন।

স্থাপত্য

মডুলার সিস্টেমের উপাদানসমূহ

অ্যান্ড্রয়েড ১০ অ্যান্ড্রয়েড সিস্টেমের কিছু উপাদানকে মডিউলার রূপ দেয় এবং সেগুলোকে সাধারণ অ্যান্ড্রয়েড রিলিজ চক্রের বাইরেও আপডেট করার সুযোগ করে দেয়। কিছু মডিউলের মধ্যে রয়েছে:

হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL)

অ্যান্ড্রয়েড ১০-এ এমন একটি বৈশিষ্ট্য যোগ করা হয়েছে, যার মাধ্যমে কোনো ক্লায়েন্ট না থাকলে HAL-গুলো স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে

কার্নেল

এবিআই

অ্যান্ড্রয়েড ১০-এ নতুন ABI মনিটরিং ইউটিলিটির সমর্থন অন্তর্ভুক্ত করা হয়েছে, যা কার্নেল মডিউলের সাথে সামঞ্জস্যকে প্রভাবিত করে এমন কার্নেল ABI পরিবর্তনগুলোর তুলনা, ট্র্যাক এবং প্রশমিত করতে সাহায্য করে।

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

অ্যান্ড্রয়েড লাইভ-লক ডেমন

অ্যান্ড্রয়েড ১০-এ অ্যান্ড্রয়েড লাইভ-লক ডেমন (llkd) অন্তর্ভুক্ত রয়েছে, যা কার্নেল ডেডলক শনাক্ত ও প্রশমিত করার জন্য ডিজাইন করা হয়েছে।

ARM64-এ vDSO32

অ্যান্ড্রয়েড ১০ ৬৪-বিট কার্নেলে vDSO32 ব্যবহার সমর্থন করে, যা ব্যাটারির আয়ু ০.৪ শতাংশ বৃদ্ধি করে এবং অন্যান্য পারফরম্যান্সের উন্নতি ঘটায়।

আগে মাউন্ট করা পার্টিশনগুলির জন্য fstab এন্ট্রি

অ্যান্ড্রয়েড ১০ অনুযায়ী, ডিভাইসগুলোকে প্রথম পর্যায়ের র‍্যামডিস্কে একটি fstab ফাইল ব্যবহার করে আর্লি মাউন্টেড পার্টিশনগুলোর জন্য fstab এন্ট্রি নির্দিষ্ট করতে হয়।

এইচআইডিএল

ব্রডকাস্টকিউ অফলোড করুন

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

সিস্টেম সাসপেন্ড পরিষেবা

অ্যান্ড্রয়েড ১০, সিস্টেম সাসপেন্ড শুরু করার জন্য দায়ী libsuspend এর থ্রেডটিকে SystemSuspend HIDL সার্ভিস দ্বারা প্রতিস্থাপন করে। এই বাস্তবায়নটি অ্যান্ড্রয়েড HIDL পরিকাঠামোর সুবিধাগুলো কাজে লাগানোর পাশাপাশি পূর্ববর্তী সংস্করণগুলোর সমতুল্য কার্যকারিতা প্রদান করে।

HIDL-এ নিরাপদ_ইউনিয়ন

অ্যান্ড্রয়েড ১০ HIDL-এ safe_union চালু করেছে, যা একটি সুস্পষ্টভাবে ট্যাগ করা ইউনিয়ন টাইপ।

কনফিগারেশন

কনফিগস্টোর এইচএএল

অতিরিক্ত মেমরি খরচ এবং ব্যবহারে অসুবিধার কারণে অ্যান্ড্রয়েড ১০-এ ConfigStore HAL-কে অপ্রচলিত ঘোষণা করা হয়েছে এবং এর পরিবর্তে সিস্টেম প্রোপার্টিজ ব্যবহার করা হচ্ছে।

কনফিগারেশন ফাইল স্কিমা এপিআই

অ্যান্ড্রয়েড প্ল্যাটফর্মে কনফিগারেশন ডেটা সংরক্ষণের জন্য প্রচুর সংখ্যক XML ফাইল থাকে। এই XML ফাইলগুলোর বেশিরভাগই vendor পার্টিশনে থাকে, কিন্তু সেগুলো system পার্টিশন থেকে পড়া হয়। এক্ষেত্রে, XML ফাইলের স্কিমাটি দুটি পার্টিশনের মধ্যে ইন্টারফেস হিসেবে কাজ করে, এবং তাই স্কিমাটি অবশ্যই সুস্পষ্টভাবে উল্লেখ করতে হবে এবং ব্যাকওয়ার্ড-কম্প্যাটিবল পদ্ধতিতে এর পরিবর্তন নিশ্চিত করতে হবে। অ্যান্ড্রয়েড ১০-এর আগে, প্ল্যাটফর্মটিতে XML স্কিমা উল্লেখ ও ব্যবহার বাধ্যতামূলক করার, অথবা স্কিমাতে অসামঞ্জস্যপূর্ণ পরিবর্তন রোধ করার কোনো ব্যবস্থা ছিল না। অ্যান্ড্রয়েড ১০ এই ব্যবস্থাটি প্রদান করে, যা ‘কনফিগ ফাইল স্কিমা এপিআই’ (Config File Schema API) নামে পরিচিত।

এপিআই হিসাবে সিস্টেম বৈশিষ্ট্য

পার্টিশন জুড়ে অ্যাক্সেস করা সিস্টেম প্রোপার্টিগুলোকে sysprop ডেসক্রিপশন ফাইলে পরিকল্পিতভাবে সাজানো হয়, এবং প্রোপার্টিগুলো অ্যাক্সেস করার জন্য API-গুলো C++ এর জন্য কনক্রিট ফাংশন ও Java এর জন্য ক্লাস হিসেবে তৈরি করা হয়।

ভেন্ডর ইন্টারফেস (VINTF) অবজেক্ট

ভিআইএনটিএফ

অ্যান্ড্রয়েড ১০-এ VINTF-এর পরিবর্তনগুলোর মধ্যে রয়েছে:

বুটলোডার

রামডিস্ক

অ্যান্ড্রয়েড ১০-এ, রুট ফাইল সিস্টেম আর ramdisk.img এর অন্তর্ভুক্ত থাকে না এবং এর পরিবর্তে এটিকে system.img সাথে একীভূত করা হয়েছে।

ODM পার্টিশন তৈরি করুন

অ্যান্ড্রয়েড ১০-এ অ্যান্ড্রয়েড বিল্ড সিস্টেম ব্যবহার করে odm পার্টিশন তৈরির সুবিধা রয়েছে। কাস্টমাইজেশনের জন্য আপনি একটি আলাদা /odm পার্টিশন ব্যবহার করতে পারেন, যা আপনাকে একাধিক হার্ডওয়্যার এসকেইউ (SKU)-এর জন্য একটিমাত্র ভেন্ডর ইমেজ ব্যবহার করার সুযোগ দেয়। এটি অরিজিনাল ডিজাইন ম্যানুফ্যাকচারারদের (ওডিএম) তাদের নির্দিষ্ট ডিভাইসের (তাদের বোর্ডের) জন্য সিস্টেম-অন-চিপ (এসওসি) ভেন্ডরের বোর্ড-সাপোর্ট প্যাকেজ (বিএসপি) কাস্টমাইজ করার সুযোগ দেয়। তারা বোর্ড-নির্দিষ্ট কম্পোনেন্টের জন্য কার্নেল মডিউল, বোর্ড-নির্দিষ্ট ডেমন, অথবা হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ারে (এইচএএল) তাদের নিজস্ব ফিচারগুলো ইমপ্লিমেন্ট করতে পারে। এছাড়াও তারা এসওসি কম্পোনেন্টগুলো প্রতিস্থাপন বা কাস্টমাইজ করতে পারে।

বুট ইমেজ হেডার ভার্সনিং

অ্যান্ড্রয়েড ১০ বুট ইমেজ হেডারকে সংস্করণ ২-এ আপডেট করে, যাতে ডিভাইস ট্রি ব্লব (DTB) ইমেজ সংরক্ষণের জন্য একটি অংশ অন্তর্ভুক্ত থাকে। অ্যান্ড্রয়েড ১০ ভিটিএস (VTS) পরীক্ষাগুলো যাচাই করে দেখেছে যে, অ্যান্ড্রয়েড ১০ দিয়ে চালু হওয়া সমস্ত ডিভাইস বুট ইমেজ হেডার সংস্করণ ২ ব্যবহার করে এবং বুট/রিকভারি ইমেজের অংশ হিসেবে একটি বৈধ ডিটিবি (DTB) ইমেজ অন্তর্ভুক্ত করে।

নন-এ/বি ডিভাইসগুলির জন্য রিকভারি ইমেজ

অ্যান্ড্রয়েড ৯ এবং এর পরবর্তী সংস্করণগুলোতে, একটি ডিভাইসের রিকভারি ইমেজে অবশ্যই ওভারলে ইমেজের তথ্য থাকতে হবে । ডিভাইস নির্মাতারা সমস্ত নন-ডিসকভারেবল ডিভাইস বর্ণনা করার জন্য ডিভাইসট্রি (DeviceTree) অথবা অ্যাডভান্সড কনফিগারেশন অ্যান্ড পাওয়ার ইন্টারফেস (ACPI) ব্যবহার করতে পারেন। অ্যান্ড্রয়েড ১০ এবং এর পরবর্তী সংস্করণগুলোতে এমন আর্কিটেকচারগুলোর জন্য সমর্থন অন্তর্ভুক্ত রয়েছে, যেগুলো ওভারলের জন্য ডিভাইসট্রি ব্লব (DTBO)-এর পরিবর্তে ACPI ব্যবহার করে।

স্থিতিশীল AIDL

অ্যান্ড্রয়েড ১০-এ স্থিতিশীল অ্যান্ড্রয়েড ইন্টারফেস ডেফিনিশন ল্যাঙ্গুয়েজ (AIDL)- এর জন্য সমর্থন যোগ করা হয়েছে, যা AIDL ইন্টারফেস দ্বারা প্রদত্ত অ্যাপ্লিকেশন প্রোগ্রাম ইন্টারফেস (API)/অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI)-এর হিসাব রাখার একটি নতুন উপায়।

ফাস্টবুটকে ইউজার স্পেসে স্থানান্তর করুন

অ্যান্ড্রয়েড ১০, ফাস্টবুট ইমপ্লিমেন্টেশনকে বুটলোডার থেকে ইউজার স্পেসে স্থানান্তর করার মাধ্যমে রিসাইজযোগ্য পার্টিশনের সুবিধা যোগ করেছে।

প্রদর্শন

HDR ভিডিও প্লেব্যাক

অ্যান্ড্রয়েড ১০ HDR10, VP9 এবং HDR10+ প্লেব্যাক সমর্থন করে।

পাঠ্য শ্রেণিবিন্যাস

টেক্সট ক্লাসিফিকেশন ডেভেলপারদের টেক্সট শ্রেণীবদ্ধ করতে সাহায্য করার জন্য মেশিন লার্নিং কৌশল ব্যবহার করে। অ্যান্ড্রয়েড ১০, TextClassifier API-তে দুটি মেথড যুক্ত করেছে: suggestConversationActions এবং detectLanguagesuggestConversationActions মেথডটি একটি নির্দিষ্ট কথোপকথন থেকে প্রস্তাবিত উত্তর এবং অ্যাকশন তৈরি করে এবং detectLanguage মেথডটি টেক্সটের ভাষা শনাক্ত করে।

জাওগি ফন্ট রেন্ডারিংয়ের জন্য সমর্থন

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

  • ঐ পরিবর্তনগুলো পূর্বাবস্থায় ফিরিয়ে আনুন এবং প্ল্যাটফর্ম-সমর্থিত পদ্ধতিটি ব্যবহার করুন।
  • আপনার সিস্টেমে প্রচলিত জাওগি (Zawgyi) ফন্টটি রাখুন এবং আপনার fonts.xml ফাইলে my-qaag লোকেল কোডটি ব্যবহার করুন। আরও তথ্যের জন্য, জাওগি (Qaag) সম্পর্কিত ইউনিকোড CLDR রিলিজ নোট দেখুন।

অ্যাপ আইকন লুকানোর সীমাবদ্ধতা

অ্যান্ড্রয়েড ১০ অ্যাপগুলোর লঞ্চার আইকন লুকানোর ক্ষমতা সীমিত করে। যদি কোনো অ্যাপের লঞ্চার অ্যাক্টিভিটি সক্রিয় না থাকে, তবে সিস্টেম লঞ্চারে একটি সিন্থেসাইজড অ্যাক্টিভিটি প্রদর্শন করে; এই সিন্থেসাইজড অ্যাক্টিভিটিটি সিস্টেম সেটিংসের মধ্যে থাকা অ্যাপটির বিস্তারিত পৃষ্ঠাকে উপস্থাপন করে।

অ্যাপ আইকন দেখানোর জন্য ব্যবহৃত লজিক সম্পর্কে আরও তথ্যের জন্য, যার মধ্যে কোন ধরনের অ্যাপের আইকন দেখানো হয় না তাও অন্তর্ভুক্ত, API রেফারেন্সে getActivityList() এর ডকুমেন্টেশন দেখুন।

সেটিংস

অ্যাক্সেসিবিলিটি উন্নত করার জন্য, অ্যান্ড্রয়েড ১০-এ ব্যবহারকারী-কাস্টমাইজযোগ্য টাইমআউট সেটিংস অন্তর্ভুক্ত করা হয়েছে। এপিআই এবং সেটিংসের পরিবর্তনগুলো অ্যান্ড্রয়েড ১০-এর সাথেই এসেছে। আপনি যদি আপনার সেটিংস কাস্টমাইজ করেন, তবে নিশ্চিত করুন যে এই ফিচারটি সমর্থিত আছে। আপনার ডিভাইসে যদি এমন কোনো UI এলিমেন্ট থাকে যা টাইমআউট হয়ে যায়, তবে সেগুলোর জন্য টাইমআউটস এপিআই ব্যবহার করুন। আরও তথ্যের জন্য, অ্যান্ড্রয়েড ডেভেলপার অ্যাক্সেসিবিলিটি নির্দেশিকা দেখুন।

সামঞ্জস্যতা

অ্যান্ড্রয়েড সামঞ্জস্য সংজ্ঞা নথি (CDD)

অ্যান্ড্রয়েড ১০ কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্টটি পূর্ববর্তী সংস্করণগুলোর উপর ভিত্তি করে নতুন ফিচারের আপডেট এবং পূর্বে প্রকাশিত কার্যকারিতার জন্য প্রয়োজনীয়তার পরিবর্তন নিয়ে আসে।

পরীক্ষা

সামঞ্জস্য পরীক্ষা স্যুট (CTS)

অ্যান্ড্রয়েড সিটিএস-এর একটি আলাদা রিলিজ নোটস পেজ আছে, যেখানে অ্যান্ড্রয়েড ১০-এর অনেক গুরুত্বপূর্ণ পরিবর্তন তালিকাভুক্ত করা হয়েছে।

CTS ডাউনলোড

অ্যান্ড্রয়েড ১০ সমর্থনকারী CTS প্যাকেজগুলো CTS ডাউনলোড পেজে পাওয়া যাচ্ছে। অন্তর্ভুক্ত টেস্টগুলোর সোর্স কোড ওপেন-সোর্স ট্রিতে android-cts-10_r1 ট্যাগটির মাধ্যমে সিঙ্ক করা যাবে।

CTS শিম এপেক্স

অ্যান্ড্রয়েড ১০-এ CtsShimApex নামে একটি প্যাকেজ চালু করা হয়েছে, যা APEX ম্যানেজমেন্টের জন্য CTS টেস্ট লেখার উদ্দেশ্যে ডিভাইসে আগে থেকেই ইনস্টল করা থাকতে হবে।

টেস্ট হারনেস মোড

CTS টেস্ট হারনেস মোড ডেভেলপারদের একটি ডিভাইস বা একাধিক ডিভাইসের জন্য টেস্টিং স্বয়ংক্রিয় করতে সাহায্য করে।

ইনস্ট্যান্ট অ্যাপস মোড

অ্যান্ড্রয়েড ১০ থেকে, CTS ইনস্ট্যান্ট অ্যাপস মোডে চলে, যার অর্থ হলো টেস্ট APK-টিকে একটি ইনস্ট্যান্ট অ্যাপ হিসেবে ইনস্টল করে পরীক্ষাগুলো চালানো।

ইনস্ট্যান্ট অ্যাপসের জন্য CTS মোডের পাশাপাশি, অ্যান্ড্রয়েড ১০-এ ইনস্ট্যান্ট অ্যাপসের জন্য CTS ভেরিফায়ারও অন্তর্ভুক্ত রয়েছে।

CTS ভেরিফায়ার প্রো অডিও টেস্ট

অ্যান্ড্রয়েড ১০-এ প্রো অডিও কমপ্লায়েন্স যাচাই করার জন্য একটি CTS ভেরিফায়ার টেস্ট যুক্ত করা হয়েছে।

CTS ভেরিফায়ার MIDI পরীক্ষা

অ্যান্ড্রয়েড ১০-এ, CTS ভেরিফায়ার MIDI টেস্টটি USB MIDI ইন্টারফেস, ব্লুটুথ MIDI ইন্টারফেস এবং একটি ভার্চুয়াল MIDI ডিভাইস পাথের মাধ্যমে MIDI কার্যকারিতা পরীক্ষা করে।

CTS পরীক্ষার ব্যাখ্যা

অ্যান্ড্রয়েড ১০ সিটিএস ফলাফল ব্যাখ্যা করার প্রক্রিয়াটি আপডেট করে।

ভেন্ডর টেস্ট স্যুট (VTS)

ডিবাগ র‍্যামডিস্ক দিয়ে VTS টেস্টিং

অ্যান্ড্রয়েড ১০-এ, CTS-on-GSI/VTS কমপ্লায়েন্স টেস্টিং চালানোর জন্য ব্যবহৃত জেনেরিক সিস্টেম ইমেজ (GSI) ইউজারডিবাগ থেকে ইউজার বিল্ড টাইপে পরিবর্তিত হয়, কারণ GSI রিলিজ সাইনড। তবে, পরীক্ষাধীন অ্যান্ড্রয়েড ডিভাইসে হোস্টকে রুট পারমিশন প্রদানকারী adb root কমান্ডটি ইউজার বিল্ডে উপলব্ধ নয়। এটি একটি সমস্যা, কারণ VTS চালানোর জন্য adb root প্রয়োজন।

ডিভাইসটি আনলক করা থাকলে, adb root সম্ভব করার জন্য ডিবাগ র‍্যামডিস্ক চালু করা হয়েছে। এটি একই ইউজার বিল্ড system.img (হয় GSI অথবা OEM-এর system.img ) পুনঃব্যবহার করার মাধ্যমে টেস্টিং প্রক্রিয়াকে সহজ করে তোলে।

হার্ডওয়্যার কম্পোজার যাচাইকরণ

অ্যান্ড্রয়েড ১০, IComposerClient.hal এ থাকা readback ইন্টারফেসের মাধ্যমে হার্ডওয়্যার কম্পোজার ভ্যালিডেশনের জন্য একটি নতুন VTS টেস্ট ক্লাস যুক্ত করেছে। ভেন্ডররা যদি readback ইমপ্লিমেন্ট না করে, তাহলে টেস্টগুলো স্বয়ংক্রিয়ভাবে পাস হয়ে যায়।

ডিবাগিং

বিভিন্ন ক্লাস লোডার দিয়ে শেয়ার্ড লাইব্রেরি লোড করুন

অ্যান্ড্রয়েড ৯ এবং এর পূর্ববর্তী সংস্করণগুলোতে, অ্যাপগুলো তাদের লিঙ্ক করা জাভা শেয়ার্ড লাইব্রেরিগুলো অ্যাপের ক্লাস লোডারে লোড করত। অ্যান্ড্রয়েড ১০-এ, ফ্রেমওয়ার্কটি uses-library বা uses-static-library এর মাধ্যমে লিঙ্ক করা জাভা শেয়ার্ড লাইব্রেরিগুলো লোড করার জন্য অ্যাপের ক্লাস লোডারের চেয়ে ভিন্ন একটি ক্লাস লোডার ব্যবহার করে।

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

ডিভাইস নির্মাতারা অ্যান্ড্রয়েড ১০ চালিত ডিভাইসগুলো পরীক্ষা করার সময় অ্যাপের সামঞ্জস্যতার সমস্যা দেখতে পারেন।

নিরাপত্তা বৈশিষ্ট্য

শুধুমাত্র নিরাপত্তা ও গোপনীয়তা সম্পর্কিত উন্নয়নগুলোর আরও সম্পূর্ণ তালিকার জন্য, অ্যান্ড্রয়েড ১০ নিরাপত্তা ও গোপনীয়তা উন্নয়ন পৃষ্ঠাটি দেখুন।

মুখ শনাক্তকরণ

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

বর্ধিত অ্যাক্সেস

ট্রাস্ট এজেন্ট, যা স্মার্ট লকের মতো তৃতীয় স্তরের প্রমাণীকরণ ব্যবস্থায় ব্যবহৃত অন্তর্নিহিত প্রক্রিয়া, তা অ্যান্ড্রয়েড ১০-এ শুধুমাত্র আনলকের মেয়াদ বাড়াতে পারে। ট্রাস্ট এজেন্ট এখন আর কোনো লক করা ডিভাইস আনলক করতে পারে না এবং একটি ডিভাইসকে সর্বোচ্চ চার ঘণ্টার জন্য আনলক করে রাখতে পারে।

এনক্রিপশন

OEMCrypto

অ্যান্ড্রয়েড ১০ OEMCrypto API সংস্করণ ১৫ ব্যবহার করে।

পরীক্ষা

বাউন্ডস স্যানিটাইজার

অ্যান্ড্রয়েড ১০ ব্লুটুথ এবং কোডেকগুলিতে বাউন্ডস স্যানিটাইজার (BoundSan) স্থাপন করে। বাউন্ডস স্যানিটাইজার UBSan-এর বাউন্ডস স্যানিটাইজার ব্যবহার করে। এই সুরক্ষা ব্যবস্থাটি প্রতিটি মডিউলের জন্য আলাদাভাবে সক্রিয় করা হয়। এটি অ্যান্ড্রয়েডের গুরুত্বপূর্ণ উপাদানগুলিকে সুরক্ষিত রাখতে সাহায্য করে এবং এটি নিষ্ক্রিয় করা উচিত নয়। নিম্নলিখিত কোডেকগুলিতে বাউন্ডস স্যানিটাইজার সক্রিয় করা আছে:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec
  • libaac
  • libxaac

পূর্ণসংখ্যা ওভারফ্লো স্যানিটাইজেশন

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

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec

শুধুমাত্র কার্যকর করার মেমরি

ডিফল্টভাবে, জাস্ট-ইন-টাইম কোড রিইউজ অ্যাটাকের বিরুদ্ধে একটি সুরক্ষা ব্যবস্থা হিসেবে AArch64 সিস্টেম বাইনারিগুলির এক্সিকিউটেবল কোড সেকশনগুলিকে এক্সিকিউট-অনলি (অপাঠ্য) হিসেবে চিহ্নিত করা হয়। যে কোডে ডেটা এবং কোড একসাথে মেশানো থাকে এবং যে কোড ইচ্ছাকৃতভাবে এই সেকশনগুলিকে (মেমরি সেগমেন্টগুলিকে প্রথমে পাঠযোগ্য হিসেবে রিম্যাপ না করেই) পরীক্ষা করে, সেগুলি আর কাজ করে না। যেসব অ্যাপের টার্গেট SDK অ্যান্ড্রয়েড ১০ (API লেভেল ২৯ বা তার বেশি), সেগুলি প্রভাবিত হয় যদি অ্যাপটি প্রথমে সেকশনটিকে পাঠযোগ্য হিসেবে চিহ্নিত না করে মেমরিতে থাকা এক্সিকিউট-অনলি মেমরি (XOM) সক্রিয় সিস্টেম লাইব্রেরির কোড সেকশন পড়ার চেষ্টা করে।

স্কুডো

স্কুডো হলো একটি ডাইনামিক ইউজার-মোড মেমরি অ্যালোকেটর, যা হিপ-সম্পর্কিত দুর্বলতার বিরুদ্ধে আরও বেশি স্থিতিস্থাপক হওয়ার জন্য ডিজাইন করা হয়েছে। এটি স্ট্যান্ডার্ড C অ্যালোকেশন ও ডিঅ্যালোকেশন প্রিমিটিভের পাশাপাশি C++ প্রিমিটিভও প্রদান করে।

শ্যাডোকলস্ট্যাক

ShadowCallStack (SCS) হলো একটি LLVM ইন্সট্রুমেন্টেশন মোড যা নন-লিফ ফাংশনগুলোর প্রোলগ ফাংশনে একটি আলাদাভাবে বরাদ্দকৃত ShadowCallStack ইনস্ট্যান্সে ফাংশনের রিটার্ন অ্যাড্রেস সংরক্ষণ করে এবং এপিলগ ফাংশনে সেই ShadowCallStack ইনস্ট্যান্স থেকে রিটার্ন অ্যাড্রেসটি লোড করার মাধ্যমে রিটার্ন অ্যাড্রেস ওভাররাইট (যেমন স্ট্যাক বাফার ওভারফ্লো) থেকে সুরক্ষা প্রদান করে।

অডিও

অডিও এইচএএল

অ্যান্ড্রয়েড ১০-এ অডিও HAL-এর জন্য নিম্নলিখিত নতুন সক্ষমতাগুলো অন্তর্ভুক্ত করা হয়েছে।

  • AudioSource
  • AudioFormat
  • AudioChannelMask

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

প্রাক-প্রক্রিয়াকরণ প্রভাব

অ্যান্ড্রয়েড অ্যাকোস্টিক ইকো ক্যান্সেলেশন, অটোমেটিক গেইন কন্ট্রোল এবং নয়েজ সাপ্রেশনের মতো প্রিপ্রসেসিং এফেক্ট প্রদান করে। অ্যান্ড্রয়েড ১০-এ VOICE_COMMUNICATION ব্যবহার করে ক্যাপচার করার জন্য নতুন কিছু শর্তাবলী অন্তর্ভুক্ত করা হয়েছে।

অডিও নীতি ব্যবস্থাপক

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

উচ্চ রেজোলিউশন অডিও

অ্যান্ড্রয়েড ১০-এ হাই-রেজোলিউশন অডিওর জন্য নিম্নলিখিত উন্নতিগুলো অন্তর্ভুক্ত করা হয়েছে।

  • ভাসমান সমর্থন
  • ১৯২ কিলোহার্টজ ফ্রিকোয়েন্সি সমর্থন
  • আট-চ্যানেল সমর্থন
  • সময় সংক্রান্ত তথ্যের অন্তর্ভুক্তি

একযোগে ক্যাপচার

অ্যান্ড্রয়েড ১০ যুগপৎ ক্যাপচারের ব্যবহারকারীর অভিজ্ঞতা উন্নত করে, যেখানে একই সময়ে একাধিক সক্রিয় অডিও ক্যাপচার চালানোর প্রয়োজন হয়।

অডিও প্লেব্যাক ক্যাপচার

অ্যান্ড্রয়েড ১০-এ AudioPlaybackCapture নামে একটি নতুন এপিআই রয়েছে, যা অ্যাপগুলোকে অন্য অ্যাপে বাজানো অডিও কপি করার ক্ষমতা দেয়। এই ফিচারটি স্ক্রিন ক্যাপচারের মতোই, তবে এটি অডিওর জন্য। এর প্রধান ব্যবহার হলো স্ট্রিমিং অ্যাপগুলোকে গেমের অডিও ক্যাপচার করার সুযোগ দেওয়া।

যে অ্যাপের অডিও ক্যাপচার করা হচ্ছে, ক্যাপচার এপিআই তার ল্যাটেন্সিকে প্রভাবিত করে না।

মিডি

AMidi NDK API ব্যবহার করে অ্যান্ড্রয়েড ১০-এর মাধ্যমে MIDI ব্যবহার করে পেশাদার অডিও অ্যাপগুলোকে অ্যান্ড্রয়েড প্ল্যাটফর্মে পোর্ট করা আরও সহজ হয়ে যায়।

ক্যামেরা

অ্যান্ড্রয়েড ১০-এ আনা ক্যামেরা এপিআই, ক্যামেরা এইচএএল এবং ক্যামেরা মডিউলের পরিবর্তনগুলোর সারসংক্ষেপের জন্য, অ্যান্ড্রয়েড ১০ ক্যামেরা আপডেট দেখুন।

ক্যামেরা ফ্রেমওয়ার্কের গোপনীয়তার উন্নতি

অ্যান্ড্রয়েড ১০ ক্যামেরা ফ্রেমওয়ার্কে গোপনীয়তা রক্ষার জন্য কিছু উন্নত ব্যবস্থা চালু করেছে। ব্যবহারকারীর অনুমতি ছাড়া CameraCharacteristics এ থাকা সম্ভাব্য সংবেদনশীল স্ট্যাটিক ক্যামেরা তথ্য প্রকাশ হওয়া এড়াতে, অ্যাপগুলোকে এখন getCameraCharacteristics মেথড ব্যবহার করে গোপনীয়তা-সংবেদনশীল ট্যাগসহ স্ট্যাটিক মেটাডেটা পুনরুদ্ধার করার জন্য CAMERA পারমিশন নিতে হবে।

যেসব ক্যামেরা ক্যারেক্টারিস্টিক কী-এর জন্য CAMERA পারমিশন প্রয়োজন, তার তালিকা পেতে getKeysNeedingPermission মেথডটি কল করুন।

সেশন পুনর্গঠন কোয়েরি

অ্যান্ড্রয়েড ১০-এ একটি সেশন রিকনফিগারেশন কোয়েরি ফিচার যুক্ত করা হয়েছে, যা অভ্যন্তরীণ সেশন প্যারামিটার রিকনফিগারেশন লজিকের উপর আরও বেশি নিয়ন্ত্রণের মাধ্যমে উন্নত পারফরম্যান্স প্রদান করে।

ক্যামেরা HAL3 বাফার ব্যবস্থাপনা API

অ্যান্ড্রয়েড ১০-এ ঐচ্ছিক ক্যামেরা HAL3 বাফার ম্যানেজমেন্ট এপিআই চালু করা হয়েছে, যা আপনাকে ক্যামেরা HAL বাস্তবায়নে বিভিন্ন মেমরি ও ক্যাপচার ল্যাটেন্সির মধ্যে ভারসাম্য অর্জনের জন্য বাফার ম্যানেজমেন্ট লজিক প্রয়োগ করার সুযোগ দেয়।

ক্যামেরা এইচএএল ডায়নামিক ফিজিক্যাল ক্যামেরা সুইচ

অ্যান্ড্রয়েড ১০ একটি ডাইনামিক মেটাডেটা ট্যাগ, ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID , চালু করেছে, যা একটি লজিক্যাল ক্যামেরা ডিভাইসের সক্রিয় ফিজিক্যাল ক্যামেরাকে নির্দেশ করে। আরও তথ্যের জন্য, মাল্টি-ক্যামেরা সাপোর্ট দেখুন।

ভৌত ক্যামেরা লুকানোর জন্য সমর্থন

অ্যান্ড্রয়েড ১০-এ, ক্যামেরা HAL কোনো অ্যাপ দ্বারা সরাসরি খোলা যায় এমন ফিজিক্যাল ক্যামেরার সংখ্যা কমাতে পারে। আরও বিস্তারিত জানতে, মাল্টি-ক্যামেরা সাপোর্ট দেখুন।

ক্যামেরা২ ভিএনডিকে এপিআই

অ্যান্ড্রয়েড ১০-এ, ভেন্ডর মডিউলগুলো দুটি নতুন স্ট্যান্ডার্ড HIDL ইন্টারফেস, android.frameworks.cameraservice.service@2.0 এবং android.frameworks.cameraservice.device@2.0 এর মাধ্যমে ক্যামেরা ডিভাইস অ্যাক্সেস ও নিয়ন্ত্রণ করতে পারে। HIDL ইন্টারফেসগুলোর ব্যবহার আরও সুবিধাজনক করার জন্য, অ্যান্ড্রয়েড ১০ একটি ভেন্ডর-উপলব্ধ লাইব্রেরি, libcamera2_vendor ও চালু করেছে। এই লাইব্রেরিটি Camera NDK লাইব্রেরির মতোই, তবে এতে কিছু ছোটখাটো পরিবর্তন রয়েছে।

স্ট্রিম কনফিগারেশন

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

ক্যামেরা স্ট্রিম সমন্বয়ের প্রয়োজনীয়তা

অ্যান্ড্রয়েড ১০ চালিত ডিভাইসগুলিতে এখন আর ফিজিক্যাল সাবক্যামেরা স্ট্রিম সহ স্ট্রিম কম্বিনেশন সমর্থন করার প্রয়োজন নেই। তবে, ক্যামেরা HAL ডিভাইস সংস্করণ ৩.৫ সহ অ্যান্ড্রয়েড ১০ চালিত ডিভাইসগুলিকে অবশ্যই isStreamCombinationSupported() সমর্থন করতে হবে, যাতে অ্যাপগুলি জানতে পারে যে ফিজিক্যাল স্ট্রিম সমন্বিত কোনো স্ট্রিম কম্বিনেশন সমর্থিত কিনা।

আরও তথ্যের জন্য, মাল্টি-ক্যামেরা সাপোর্ট দেখুন।

HEIF ইমেজিং

অ্যান্ড্রয়েড ১০ হাই এফিশিয়েন্সি ইমেজ ফাইল ফরম্যাট (HEIF) ছবির জন্য নেটিভ ক্যামেরা সাপোর্ট প্রদান করে, যা JPEG ছবির তুলনায় উন্নত মানের ছবি এবং ছোট আকার দেয়। HEIF ছবি সাপোর্ট করার জন্য ডিভাইসটিতে অবশ্যই একটি HEIC বা HEVC এনকোডার থাকতে হবে।

মনোক্রোম ক্যামেরা

অ্যান্ড্রয়েড ১০ ওয়াই৮ স্ট্রিম ফরম্যাট, মনোক্রোম ও নিয়ার-ইনফ্রারেড (এনআইআর) কালার ফিল্টার অ্যারে স্ট্যাটিক মেটাডেটা এবং মনোক্রোম ক্যামেরার জন্য DngCreator ফাংশনের অতিরিক্ত সমর্থন প্রদান করে।

সংযোগ

কল এবং মেসেজিং

জরুরি নম্বর এবং জরুরি কল

অ্যান্ড্রয়েড ১০ জরুরি কল করার জন্য উন্নত সুবিধা প্রদান করে। জরুরি অবস্থায়, IRadio HAL v1.4 সমর্থিত ডিভাইসগুলো সিম কার্ড, নেটওয়ার্ক সিগন্যাল বা অ্যান্ড্রয়েড ডেটাবেসের মতো উৎস থেকে প্রাপ্ত জরুরি নম্বর ব্যবহার করে জরুরি কল শুরু করতে পারে। নম্বরগুলোকে পুলিশ, ফায়ার সার্ভিস এবং অ্যাম্বুলেন্সের মতো জরুরি পরিষেবা বিভাগ অনুসারে শ্রেণিবদ্ধ করা যেতে পারে।

গ্রুপ কল এপিআই

গ্রুপ কল এপিআইগুলো হলো অ্যান্ড্রয়েড ৯-এ যুক্ত হওয়া ইএমবিএমএস (eMBMS) এপিআই-এর একটি বর্ধিত রূপ। এই নতুন এপিআইগুলো ইএমবিএমএস মিডলওয়্যার প্যাকেজের সাথে ইন্টারঅ্যাক্ট করার মাধ্যমে অ্যাপগুলোর জন্য সেল-ব্রডকাস্ট গ্রুপ কলে যোগদান এবং ব্রডকাস্ট করার একটি মান নির্ধারণ করে। গ্রুপ কলগুলো সঠিকভাবে কাজ করার জন্য চিপসেট ভেন্ডর, মিডলওয়্যার ভেন্ডর এবং সেল ক্যারিয়ারের সমর্থনের প্রয়োজন হয়। ডেভেলপার ডকুমেন্টেশন developer.google.com- এ পাওয়া যাবে।

রিমোট সিমের সক্ষমতা

অ্যান্ড্রয়েড ১০-এ রিমোট সিম সুবিধা চালু করা হয়েছে, যা একটি অ্যান্ড্রয়েড হোস্ট ডিভাইসের মেসেজিং অ্যাপগুলোকে ব্লুটুথের মতো পদ্ধতি ব্যবহার করে ফোনের মাধ্যমে এসএমএস পাঠাতে দেয়। আরও তথ্যের জন্য, getSubscriptionType মেথড এবং SUBSCRIPTION_TYPE_REMOTE_SIM কনস্ট্যান্টের রেফারেন্স ডকুমেন্টেশন দেখুন।

একাধিক ই-সিম

অ্যান্ড্রয়েড ১০-এ, EuiccManager ক্লাসটি একাধিক এমবেডেড সিম (eSIM) বা eUICC যুক্ত ডিভাইসগুলোকে সাপোর্ট করে।

eSIM আপডেট

অ্যান্ড্রয়েড ১০ চালিত যে ডিভাইসগুলো ই-সিম সমর্থন করে, সেগুলোতে একটি অপসারণযোগ্য নয় এমন eUICC স্লট আইডি অ্যারে সংজ্ঞায়িত করতে হবে। ডিভাইসগুলোকে অবশ্যই IRadio HAL v1.4 এবং IRadioConfig HAL v1.2 সমর্থন করতে হবে। আরও তথ্যের জন্য, “Implementing eSIM and HAL Requirements ” দেখুন।

৫জি নন-স্ট্যান্ডঅ্যালোন (এনএসএ)

অ্যান্ড্রয়েড ১০-এ ৫জি নন-স্ট্যান্ডঅ্যালোন (এনএসএ) -এর সাপোর্ট যুক্ত করা হয়েছে। ৫জি এনএসএ হলো ৫জি নেটওয়ার্কের জন্য একটি সমাধান, যেখানে নেটওয়ার্কটি বিদ্যমান কোনো ৪জি পরিকাঠামো দ্বারা সমর্থিত হয়। অ্যান্ড্রয়েড ১০-এ, কোনো ডিভাইস ৫জি নেটওয়ার্কে সংযুক্ত হলে তার স্ট্যাটাস বারে একটি ৫জি আইকন দেখা যেতে পারে।

ফোন অ্যাকাউন্টের পরামর্শ

অ্যান্ড্রয়েড ১০-এ ফোন অ্যাকাউন্ট সাজেশন সার্ভিস চালু করা হয়েছে, যার মাধ্যমে কল করার সময় ব্যবহারকারীদেরকে ফোন অ্যাকাউন্টের সাজেশন দেখানো হয়।

বাহক

মোবাইল নেটওয়ার্ক সেটিংস স্থানান্তর করুন

অ্যান্ড্রয়েড ১০ মোবাইল নেটওয়ার্ক সেটিংস UI কোডের পুনর্গঠন করেছে এবং এটিকে টেলিফোনি স্ট্যাক থেকে সেটিংস স্ট্যাকে স্থানান্তর করেছে। স্থানান্তরিত কোডটিকে সমর্থন করার জন্য, নিম্নলিখিত মোবাইল নেটওয়ার্ক সেটিংস কনফিগারেশন ভ্যালুগুলো অ্যান্ড্রয়েড রিসোর্স থেকে CarrierConfig রিসোর্সে পরিবর্তন করুন:

config_world_mode -> CarrierConfigManager#KEY_WORLD_MODE_ENABLED_BOOL

config_support_tdscdma -> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_BOOL

config_support_tdscdma_roaming_on_networks -> CarrierConfigManager#KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY

config_enabled_lte -> CarrierConfigManager#KEY_LTE_ENABLED_BOOL

ডিভাইস শনাক্তকারী

স্থায়ী ডিভাইস শনাক্তকারী (IMEI/MEID, IMSI, এবং বিল্ড সিরিয়াল) একটি বিশেষাধিকারপ্রাপ্ত অনুমতি দ্বারা সুরক্ষিত থাকে এবং ডিভাইস ও প্রোফাইল মালিকের অ্যাপগুলোকেও এতে প্রবেশাধিকার দেওয়া হয়। যেহেতু IMSI এবং সিম সিরিয়াল নম্বর ক্যারিয়ার কর্তৃক প্রদত্ত, তাই এই শনাক্তকারীগুলোতে প্রবেশাধিকার শুধুমাত্র ক্যারিয়ার সুবিধাপ্রাপ্ত প্যাকেজগুলোকেই দেওয়া হয়।

ওয়াই-ফাই

নেটওয়ার্ক নির্বাচন

অ্যান্ড্রয়েড ক্রমাগত সংযুক্ত নেটওয়ার্কের মান মূল্যায়ন করে এবং উপলব্ধ নেটওয়ার্কগুলোর গুণমান যাচাই করে। অ্যান্ড্রয়েড ১০ ওয়াই-ফাই নেটওয়ার্ক নির্বাচন এবং সেগুলোর মধ্যে সুইচ করার জন্য অ্যালগরিদম ও পদ্ধতি আপডেট করেছে।

ওয়াই-ফাই পছন্দের নেটওয়ার্ক অফলোড স্ক্যানিং

অ্যান্ড্রয়েড ১০-এ WifiManagersetDeviceMobilityState() নামে একটি ঐচ্ছিক API মেথড চালু করা হয়েছে, যা ডিভাইস স্থির থাকা অবস্থায় বিদ্যুৎ খরচ কমাতে প্রিফার্ড নেটওয়ার্ক অফলোড (PNO) স্ক্যানের মধ্যবর্তী ব্যবধান বাড়িয়ে দেয়।

ক্যারিয়ার ওয়াই-ফাই

অ্যান্ড্রয়েড ১০-এ, ক্যারিয়ার ওয়াই-ফাই ফিচারযুক্ত ডিভাইসগুলো কনফিগার করা ক্যারিয়ার ওয়াই-ফাই নেটওয়ার্কের (পাবলিক কী সার্টিফিকেটযুক্ত নেটওয়ার্ক) সাথে স্বয়ংক্রিয়ভাবে সংযুক্ত হয়।

ওয়াই-ফাই ইজি কানেক্ট

অ্যান্ড্রয়েড ১০-এ, ডিভাইসগুলো ওয়াই-ফাই ইজি কানেক্ট ব্যবহার করতে পারে, যা ওয়াই-ফাই অ্যালায়েন্স (WFA) দ্বারা প্রবর্তিত ডিভাইস প্রভিশনিং প্রোটোকল (DPP) ব্যবহার করে ওয়াই-ফাই ডিভাইসগুলোকে প্রভিশন ও কনফিগার করে।

ওয়াই-ফাই লো-ল্যাটেন্সি মোড

অ্যান্ড্রয়েড ১০-এ একটি ওয়াই-ফাই লো-ল্যাটেন্সি মোড চালু করা হয়েছে, যা ল্যাটেন্সি কমানোর জন্য ওয়াই-ফাই চিপকে কনফিগার করে।

আপডেট করা DHCP সার্ভার

"আইপি সার্ভার" নামক একটি পরিষেবা কাঠামোর অংশ হিসেবে dnsmasq মুছে ফেলা হচ্ছে। অ্যান্ড্রয়েড ১০ তার DHCPv4 সার্ভারের কার্যকরী ব্যবহারকে একটি পৃথক কম্পোনেন্ট দ্বারা প্রতিস্থাপন করেছে, যা জাভা ফ্রেমওয়ার্ক কন্ট্রোল প্লেনের সাথে আরও ভালোভাবে সমন্বিত হওয়ার জন্য প্রধানত জাভাতে লেখা হয়েছে। এটি DHCP সার্ভারের নিরাপত্তা এবং আপডেটেবিলিটি উন্নত করে। আরও বিস্তারিত জানতে packages/modules/NetworkStack/src/android/net/dhcp/DhcpServer.java দেখুন।

এই পরিবর্তনটি কার্যকর করার জন্য কোনো পদক্ষেপের প্রয়োজন নেই: যে সমস্ত ডিভাইস Android 10 রিলিজ করছে বা এতে আপগ্রেড করছে, সেগুলি ডিফল্টরূপে DhcpServer ব্যবহার করে। যদি আপনার DHCP সার্ভারে কোনো কাস্টমাইজেশন থাকে, তবে আপনি গ্লোবাল সেটিং tether_enable_legacy_dhcp_server=1 সেট করে Android 9-এর আচরণে ফিরে যেতে পারেন। নতুন DhcpServer নেটওয়ার্কিং কম্পোনেন্টস মডিউলের অন্তর্ভুক্ত, তাই DHCP সার্ভারের কার্যকারিতায় যেকোনো কাস্টমাইজেশন আপস্ট্রিম করা উচিত।

WPA3 এবং Wi-Fi Enhanced Open

অ্যান্ড্রয়েড ১০ আরও ভালো গোপনীয়তা এবং পরিচিত আক্রমণগুলোর বিরুদ্ধে দৃঢ়তা প্রদানের জন্য ওয়াই-ফাই প্রোটেক্টেড অ্যাক্সেস ৩ (WPA3) এবং ওয়াই-ফাই এনহ্যান্সড ওপেন নিরাপত্তা স্ট্যান্ডার্ডের সমর্থন যোগ করেছে।

ওয়াই-ফাই ডাইরেক্ট

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

MAC র‍্যান্ডমাইজেশন বর্ধন

অ্যান্ড্রয়েড ১০ থেকে, ক্লায়েন্ট মোড, সফটএপি এবং ওয়াই-ফাই ডিরেক্ট-এর জন্য ম্যাক র‍্যান্ডমাইজেশন ডিফল্টরূপে সক্রিয় থাকে। ডিভাইসগুলোর সিস্টেম ইউআই-তে প্রতিটি এসএসআইডি-র জন্য ম্যাক র‍্যান্ডমাইজেশন চালু বা বন্ধ করার একটি অপশন অবশ্যই থাকতে হবে।

পাসপয়েন্ট R2

অ্যান্ড্রয়েড ১০-এ পাসপয়েন্ট আর২ (Passpoint R2)-এর ফিচারগুলোর জন্য সমর্থন যুক্ত করা হয়েছে। পাসপয়েন্ট আর২ অনলাইন সাইন আপ (OSU) বাস্তবায়ন করে, যা নতুন পাসপয়েন্ট প্রোফাইল তৈরির একটি প্রচলিত পদ্ধতি। অ্যান্ড্রয়েড ১০, SOAP-XML ব্যবহার করে EAP-TTLS প্রোফাইল তৈরির সুবিধা দেয়।

এনএফসি

সুরক্ষিত এনএফসি

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

অ্যান্ড্রয়েড বিম বাতিল করা হয়েছে

অ্যান্ড্রয়েড ১০-এ অ্যান্ড্রয়েড বিম-এর আর প্রয়োজন নেই এবং নিম্নলিখিত ইন্টারফেস ও মেথডগুলো অপ্রচলিত (deprecated) ঘোষণা করা হয়েছে।

ইন্টারফেস:

পদ্ধতি:

অ্যান্ড্রয়েড বিম ব্যবহার করতে, android.sofware.nfc.beam ফিচার কনস্ট্যান্টটি রিপোর্ট করুন।

গ্রাফিক্স

ASurfaceControl

অ্যান্ড্রয়েড ১০-এ ASurfaceControl যুক্ত করা হয়েছে, যা SurfaceFlinger বাফার গ্রহণ করার একটি নতুন উপায়।

গ্রাফিক্স বাস্তবায়ন

OpenGL ES স্তরগুলি

অ্যান্ড্রয়েড ১০ GLES-এর জন্য একটি লেয়ারিং সিস্টেম চালু করেছে।

ইজিএল ১.৫

অ্যান্ড্রয়েড ১০-এ EGL 1.5 ইন্টারফেস প্রয়োগ করা হয়েছে। EGL 1.5-এর নতুন বৈশিষ্ট্যগুলো সম্পর্কে জানতে, ক্রোনোস কর্তৃক প্রকাশিত EGL 1.5 স্পেসিফিকেশনটি দেখুন।

ভলকান

অ্যান্ড্রয়েড ১০-এ ভলকান ১.১ গ্রাফিক্সের সমর্থন রয়েছে। প্ল্যাটফর্মটি VK_KHR_swapchain v70-কেও সমর্থন করে, ফলে ভলকান অ্যাপটি সোয়াপচেইন মেমরি দ্বারা সমর্থিত একটি VkImage তৈরি করতে সক্ষম হয়।

পারফরম্যান্স রিফ্রেশ রেট

অ্যান্ড্রয়েড ১০-এ পারফরম্যান্স রিফ্রেশ রেটের সুবিধা যোগ করা হয়েছে। এই ফিচারটি ডিফল্টভাবে বন্ধ থাকে।

মিথস্ক্রিয়া

স্বয়ংচালিত

গাড়ির অডিও

অ্যান্ড্রয়েড ১০-এ, শব্দ শনাক্ত করার জন্য অডিও এইচএএল কনটেক্সট, AudioAttributes.usage এর সাথে ম্যাপ করা হয়। অ্যান্ড্রয়েড প্রতি কনটেক্সটে একটি AUDIO_DEVICE_OUT_BUS ইনস্ট্যান্স সমর্থন করে। IAudioControl HAL, অডিও এইচএএল-এর জন্য যানবাহন-নির্দিষ্ট এক্সটেনশন প্রদান করে।

অঙ্গভঙ্গি নেভিগেশন

অ্যান্ড্রয়েড ১০-এ সম্পূর্ণ অঙ্গভঙ্গি-ভিত্তিক সিস্টেম নেভিগেশনের একটি বিকল্প চালু করা হয়েছে। এই বৈশিষ্ট্যটি ব্যবহারের জন্য অ্যাপগুলোকে কীভাবে প্রস্তুত করতে হয়, সে সম্পর্কে তথ্যের জন্য অ্যান্ড্রয়েড ডেভেলপার সাইটে থাকা ‘Gestural navigation’ পৃষ্ঠাটি দেখুন।

নিউরাল নেটওয়ার্ক

অ্যান্ড্রয়েড ১০-এ নিউরাল নেটওয়ার্কস এপিআই এবং নিউরাল নেটওয়ার্কস এইচএএল-এ আপডেট আনা হয়েছে। পরিবর্তনগুলোর সারসংক্ষেপের জন্য, নিউরাল নেটওয়ার্কস দেখুন।

অ্যান্ড্রয়েড ১০-এর জন্য নিউরাল নেটওয়ার্কের নতুন ও হালনাগাদকৃত ডকুমেন্টেশন:

সেন্সর

সেন্সর এইচএএল ২.০

Sensors HAL 2.0, HAL থেকে Android Sensors Framework-এ সেন্সর ইভেন্ট পাঠানোর জন্য ফাস্ট মেসেজ কিউ (FMQ) ব্যবহার সমর্থন করে।

সেন্সর বন্ধ

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

যদি আপনার ডিভাইসগুলি SensorService , CameraService , এবং AudioPolicyService এর ডিফল্ট ইমপ্লিমেন্টেশন ব্যবহার করে, তাহলে রেফারেন্স ডিজাইনে কোনো অতিরিক্ত কাস্টমাইজেশনের প্রয়োজন নেই। যদি আপনার অন্য সেন্সর থাকে, তবে এই ফিচারটি সাপোর্ট করার বিষয়ে আরও বিস্তারিত জানতে কাস্টমাইজেশন (Customization) দেখুন।

মিডিয়া

আপডেটযোগ্য মিডিয়া উপাদান

অ্যান্ড্রয়েড ১০ আপডেটেবল মিডিয়া কম্পোনেন্ট প্রদান করে, যা গুগল প্লে স্টোর পরিকাঠামোর মাধ্যমে অথবা কোনো অংশীদার-প্রদত্ত ওভার-দ্য-এয়ার (OTA) পদ্ধতির মাধ্যমে মিডিয়া-সম্পর্কিত মডিউলার সিস্টেম কম্পোনেন্টগুলো আপডেট করতে সক্ষম করে।

মিডিয়া ডিআরএম

অ্যান্ড্রয়েড ১০ MediaDrm জাভা এবং এনডিকে এপিআই-গুলোর উপযোগিতা ও ব্যবহারযোগ্যতা উন্নত করে।

ডিকোডিং

অ্যান্ড্রয়েড ১০ এভি১ সফটওয়্যার ডিকোডিং সমর্থন করে।

অনুমতি

অ্যান্ড্রয়েড ১০ স্বচ্ছতা ও ব্যবহারকারীর গোপনীয়তার জন্য অতিরিক্ত অনুমতি কনফিগারেশনের সুবিধা প্রদান করে।

পরিষেবা প্রদানকারী এবং সংশ্লিষ্টতার তথ্য

অ্যান্ড্রয়েড ১০ থেকে, ‘কন্টাক্টস প্রোভাইডার’ কম্পোনেন্ট দ্বারা পরিচালিত কন্টাক্টস-অ্যাফিনিটি-সম্পর্কিত ডেটা, অ্যান্ড্রয়েড ৯ এবং তার পূর্ববর্তী সংস্করণগুলোর চেয়ে ভিন্নভাবে অ্যাক্সেস করা হয়। ডেটা অ্যাক্সেসযোগ্যতা সংক্রান্ত এই পরিবর্তনগুলো ‘কন্টাক্টস প্রোভাইডার’ কম্পোনেন্ট ব্যবহারকারী সমস্ত অ্যান্ড্রয়েড ১০ ডিভাইসে ব্যবহারকারীর গোপনীয়তা উন্নত করে। অন্তর্নিহিত ডেটাবেসে এখন আর কন্টাক্ট অ্যাফিনিটি ডেটা থাকে না। তাই অ্যাপগুলো এতে লিখতে বা এটি থেকে পড়তে পারে না।

অ্যান্ড্রয়েড ১০-এর পরিবর্তনগুলো এপিআই (API)-এর উপর বড় ধরনের প্রভাব ফেলবে বলে আশা করা হচ্ছে। যদি আপনার অ্যাপগুলো কন্টাক্টস প্রোভাইডার (Contacts Provider) এবং অ্যাফিনিটিজ ইনফরমেশন (Affinities Information)-এ উল্লিখিত বাতিল (deprecated) ফিচারগুলোর উপর নির্ভর করে, তবে যেকোনো পরিবর্তনের সাথে মানিয়ে নিতে আপনার অ্যাপগুলো আপডেট করে নিতে পারেন। এছাড়াও, যদি আপনি কন্টাক্টস প্রোভাইডারের কোনো ফর্কড (forked) সংস্করণ ব্যবহার করেন, তবে আপনাকে অবশ্যই আপনার কন্টাক্টস প্রোভাইডার আপডেট করতে হবে।

ট্রাইস্টেট অবস্থানের অনুমতি

অ্যান্ড্রয়েড ১০-এর ট্রাইস্টেট লোকেশন পারমিশন ব্যবহারকারীদেরকে অ্যাপগুলো কীভাবে তাদের ডিভাইসের লোকেশন অ্যাক্সেস করবে, সে বিষয়ে আরও বেশি নিয়ন্ত্রণ দেয়।

পটভূমি অবস্থান অ্যাক্সেস অনুস্মারক

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

সুযোগসন্ধানী অবস্থান সীমাবদ্ধ করুন

যখন কোনো অ্যাপ ডিভাইসের লোকেশনের জন্য অনুরোধ করে, তখন অ্যাপটি হয় অনুরোধের প্রতিক্রিয়ার জন্য অপেক্ষা করতে পারে অথবা, সক্রিয় লোকেশন লিসেনার ব্যবহার করে, একটি সুযোগসন্ধানী লোকেশন আপডেট পেতে পারে। অ্যান্ড্রয়েড ১০ থেকে শুরু করে, সুযোগসন্ধানী লোকেশন আপডেট পেতে হলে, ডেভেলপারদের অবশ্যই FusedLocationProviderClient ক্লাস থেকে উল্লেখ করতে হবে যে তাদের প্যাসিভ লোকেশন আপডেট প্রয়োজন।

ব্যাকগ্রাউন্ড অ্যাপ চালু হচ্ছে

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

অ্যাপ স্যান্ডবক্সিং

অ্যান্ড্রয়েড ১০-এ, অ্যাপগুলোর ফাইল সিস্টেমের ওপর একটি সীমিত র' ভিউ থাকে এবং /sdcard/DCIM মতো পাথগুলোতে তাদের সরাসরি অ্যাক্সেস থাকে না। তবে, অ্যাপগুলো তাদের প্যাকেজ-নির্দিষ্ট পাথগুলোতে সম্পূর্ণ র' অ্যাক্সেস ধরে রাখে, যা Context.getExternalFilesDir() এর মতো প্রযোজ্য যেকোনো মেথড দ্বারা রিটার্ন করা হয়। অ্যাপগুলোর এখনও তাদের প্যাকেজ-নির্দিষ্ট পাথগুলোতে সম্পূর্ণ র' অ্যাক্সেস রয়েছে।

ডেটা শেয়ারিংয়ের ক্ষেত্রে যথাযথ সূক্ষ্মতা নিশ্চিত করতে অ্যাপ স্যান্ডবক্সের নির্দেশিকা ব্যবহার করুন।

অ্যাপ ক্লিপবোর্ড অ্যাক্সেস সীমাবদ্ধ করুন

অ্যান্ড্রয়েড ১০-এ ক্লিপবোর্ড অ্যাক্সেসে পরিবর্তন আনা হয়েছে, যার ফলে ClipboardManager.getPrimaryClip কল করে অথবা ক্লিপবোর্ড পরিবর্তনের নোটিফিকেশনের জন্য onPrimaryClipChangedListener লিসেনার যোগ করে ক্লিপবোর্ডের বিষয়বস্তু পর্যবেক্ষণ করা যায় না। এটি ব্যবহারকারীর গোপনীয়তা বৃদ্ধি করে এবং ক্ষতিকর বিজ্ঞাপনী অ্যাপগুলোকে ক্লিপবোর্ড পরিবর্তন করা থেকে বিরত রাখে।

অ্যান্ড্রয়েড ১০-এ, শুধুমাত্র ইনপুট ফোকাসে থাকা বর্তমান অ্যাপ অথবা বর্তমান কীবোর্ডের জন্যই রিড অ্যাক্সেস অনুমোদিত। ClipboardManager.onPrimaryClipChanged() লিসেনার কলটি এখন কেবল সেইসব অ্যাপের জন্যই ফায়ার হয় যেগুলো এই ধরনের সীমাবদ্ধতা পূরণ করে। যদি অনুরোধকারী অ্যাপটি ডিফল্ট ইনপুট মেথড এডিটর (IME) না হয় অথবা সেটির ইনপুট ফোকাস না থাকে, তাহলে ClipboardManager.getPrimaryClip এবং ClipboardManager.getPrimaryClipDescription নাল ( null ) রিটার্ন করে।

রানটাইম অনুমতিগুলির মধ্যে কার্যকলাপ শনাক্তকরণ অন্তর্ভুক্ত রয়েছে

এখন কোনো অ্যাপ ব্যাকগ্রাউন্ডে ডিভাইসের লোকেশন অ্যাক্সেস করলে ব্যবহারকারীরা একটি অ্যাক্টিভিটি রিকগনিশন ডায়ালগ দেখতে পাবেন। অ্যান্ড্রয়েড ১০-এ কঠোরভাবে সীমাবদ্ধ রানটাইম পারমিশনগুলোকে যথাযথভাবে হোয়াইটলিস্ট করতে হবে।

MANAGE_DEVICE_ADMINS অনুমতি

অ্যান্ড্রয়েড ১০-এ MANAGE_DEVICE_ADMINS পারমিশনটি 'সিগনেচার' বা 'প্রিভিলেজড' থেকে 'সিগনেচার অনলি'-তে পরিবর্তন করা হয়েছে। এর মানে হলো, শুধুমাত্র প্ল্যাটফর্ম-সাইন করা অ্যাপগুলোই অন্য অ্যাপকে ডিভাইস অ্যাডমিন হিসেবে সেট করতে পারবে।

এপিআই উন্নতি শেয়ার করা

অ্যান্ড্রয়েড ১০ শেয়ারিং সম্পর্কিত বেশ কিছু নতুন অ্যান্ড্রয়েড প্ল্যাটফর্ম এপিআই ফিচার প্রদান করে। আপনি যদি আপনার ইমপ্লিমেন্টেশনে শেয়ার শীট কোড পরিবর্তন করে থাকেন, তবে নিশ্চিত করুন যে আপনার ইমপ্লিমেন্টেশনটি এই নতুন ফিচারগুলোকে সাপোর্ট করে। আপনি যদি আপনার ইমপ্লিমেন্টেশনে শেয়ার শীট কোড পরিবর্তন না করে থাকেন, তবে এই নতুন ফিচারগুলোকে সাপোর্ট করার জন্য আপনাকে কিছু করতে হবে না।

অ্যান্ড্রয়েড রানটাইম (ART)

স্বাক্ষরিত কনফিগারেশন

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

কর্মক্ষমতা

সিগ্রুপ অ্যাবস্ট্রাকশন লেয়ার

অ্যান্ড্রয়েড ১০-এ একটি সিগ্রুপ (cgroup) অ্যাবস্ট্রাকশন লেয়ার এবং টাস্ক প্রোফাইল অন্তর্ভুক্ত রয়েছে, যা ব্যবহার করে ডেভেলপাররা কোনো থ্রেড বা প্রসেসের ওপর প্রয়োগ করার জন্য একগুচ্ছ সীমাবদ্ধতা বর্ণনা করতে পারেন।

লো মেমোরি কিলার ডেমন (lmkd)

অ্যান্ড্রয়েড ১০ একটি নতুন lmkd মোড সমর্থন করে, যা মেমরি প্রেসার শনাক্তকরণের জন্য কার্নেল প্রেসার স্টল ইনফরমেশন (PSI) মনিটর ব্যবহার করে।

শক্তি

প্ল্যাটফর্ম শক্তি ব্যবস্থাপনা

অ্যান্ড্রয়েড ১০-এ, সর্বদা চালু থাকা ডিভাইসের পাশাপাশি ব্যাটারি চালিত ডিভাইসেও ডোজ মোড সক্রিয় করা যায়।

রুটিন ব্যাটারি সেভার

Android 10 introduces a new battery saver schedule option called based on routine . Routine battery saver allows an app chosen by the OEM to provide signals to the system for more intelligent battery saver scheduling. This option requires configuration, and is optional to implement.

Power stats HAL

In Android 10, IPowerStats.hal replaces the power stats collection APIs in IPower.hal . While the power HAL still supports the APIs, they'll be migrated exclusively to the power stats HAL in the future.

The power stats HAL includes new APIs to support the collection of data from on-device power measurement, for supported devices. The existing power stats collection APIs are also updated to improve flexibility. The power hinting APIs remain in power HAL and aren't changing.

Thermal mitigation

The thermal framework in Android 10 abstracts device interfaces for the thermal subsystem temperature sensor, including CPU, GPU, battery, skin, and cooling device. The framework introduces a polling interface to query thermal status to initiate throttling, and a callback interface to send a message to the user when a threshold is exceeded.

Android 10 provides the new data types through the IThermalService interface using these three new methods:

Apps add and remove listeners and access temperature status in the PowerManager class. Only a trusted system service such as an Android API or device manufacturer API can access information about associated causal events. Device manufacturers or SoC makers must implement thermal HAL 2.0 to enable the full functionality of the new thermal framework.

For a thermal mitigation implementation example, see the Reference implementation .

আপডেট

APEX file format

Android Pony EXpress (APEX) is a new container format used in the install flow for modular system components.

Dynamic partitions

Dynamic partitions introduce a userspace partitioning system to Android, allowing partitions to be created, resized, or destroyed during OTA updates. Device makers don't have to worry about the individual sizes of partitions, such as system , vendor , and product . Instead, one big super partition is allocated, and subpartitions can be sized dynamically within it.

Dynamic system updates

Dynamic system updates (DSU) allows you to make an Android system image that users can download from the internet and try out without the risk of corrupting the current system image.

Multiuser backup and restore

Android 10 supports backup and restore functionality for all users on a device. Previously, backup and restore was only available for the system user. Backup and restore for nonsystem users is turned off by default as it has only partial coverage for settings, wallpaper, and system components.

Overlayfs

Users working with userdebug or eng builds expect to be able to efficiently remount the system partition as read-write and then add or modify any number of files without reflashing the system image. You can use Overlayfs , which automatically sets up backing storage for a writable file system as an upper reference, and mounts over the lower. These actions happen in the adb disable-verity and adb remount requests. For more details, see the Overlayfs README in AOSP.

Shared library support in recovery mode

In Android 10, shared libraries are available in the recovery partition, which eliminates the need for all recovery mode executables to be static. The shared libraries are located under the /system/lib (or /system/lib64 for 64-bit devices) directory in the partition.

To add a new shared library to the recovery partition, add recovery_available: true or recovery: true to Android.bp of the shared library. The former installs the library to both the system and recovery partitions, while the latter installs it only to the recovery partition.

Shared library support can't be built with Android's make-based build system. To convert an existing static executable for the recovery mode to a dynamic one, remove LOCAL_FORCE_STATIC_EXECUTABLE := true in Android.mk or static_executable: true (in Android.bp ).

User Data Checkpoint (UDC)

Android 10 introduces the User Data Checkpoint (UDC) feature , which allows Android to roll back to its previous state when an Android over-the-air (OTA) update fails.