অ্যান্ড্রয়েড 15 ডেভেলপারদের জন্য দুর্দান্ত বৈশিষ্ট্য এবং এপিআই প্রবর্তন করে। নিম্নলিখিত বিভাগগুলি আপনাকে সম্পর্কিত APIগুলির সাথে শুরু করতে সহায়তা করার জন্য এই বৈশিষ্ট্যগুলিকে সংক্ষিপ্ত করে৷
যোগ করা, পরিবর্তিত এবং সরানো API-এর বিস্তারিত তালিকার জন্য, API ডিফ রিপোর্ট পড়ুন। যোগ করা APIগুলির বিশদ বিবরণের জন্য Android API রেফারেন্সে যান — Android 15-এর জন্য, API স্তর 35-এ যোগ করা APIগুলি সন্ধান করুন৷ প্ল্যাটফর্মের পরিবর্তনগুলি আপনার অ্যাপ্লিকেশানগুলিকে প্রভাবিত করতে পারে এমন অঞ্চলগুলি সম্পর্কে জানতে, Android 15 এবং সমস্ত অ্যাপ্লিকেশানকে লক্ষ্য করে এমন অ্যাপগুলির জন্য Android 15 আচরণের পরিবর্তনগুলি পরীক্ষা করে দেখুন৷
ক্যামেরা এবং মিডিয়া
Android 15-এ বিভিন্ন ধরনের বৈশিষ্ট্য রয়েছে যা ক্যামেরা এবং মিডিয়ার অভিজ্ঞতাকে উন্নত করে এবং যেগুলি আপনাকে Android-এ তাদের দৃষ্টিভঙ্গি বাস্তবায়িত করতে নির্মাতাদের সহায়তা করার জন্য টুল এবং হার্ডওয়্যার অ্যাক্সেস দেয়।
অ্যান্ড্রয়েড মিডিয়া এবং ক্যামেরার জন্য সর্বশেষ বৈশিষ্ট্য এবং বিকাশকারী সমাধান সম্পর্কে আরও জানতে, Google I/O থেকে বিল্ডিং আধুনিক অ্যান্ড্রয়েড মিডিয়া এবং ক্যামেরা অভিজ্ঞতা টক দেখুন৷
কম আলো বুস্ট
অ্যান্ড্রয়েড 15 লো লাইট বুস্ট প্রবর্তন করেছে, একটি অটো-এক্সপোজার মোড ক্যামেরা 2 এবং নাইট মোড ক্যামেরা এক্সটেনশন উভয়ের জন্য উপলব্ধ। লো লাইট বুস্ট কম আলোর অবস্থায় প্রিভিউ স্ট্রিমের এক্সপোজার সামঞ্জস্য করে। নাইট মোড ক্যামেরা এক্সটেনশন যেভাবে স্থির চিত্র তৈরি করে তার থেকে এটি আলাদা, কারণ নাইট মোড একটি একক, উন্নত চিত্র তৈরি করতে ফটোগুলির একটি বিস্ফোরণকে একত্রিত করে। যদিও নাইট মোড একটি স্থির চিত্র তৈরি করার জন্য খুব ভাল কাজ করে, এটি একটি ক্রমাগত ফ্রেম তৈরি করতে পারে না, তবে লো লাইট বুস্ট করতে পারে। সুতরাং, লো লাইট বুস্ট ক্যামেরার ক্ষমতা সক্ষম করে, যেমন:
- একটি উন্নত ইমেজ প্রিভিউ প্রদান করা, যাতে ব্যবহারকারীরা তাদের কম-আলোতে ছবি ফ্রেম করতে পারে
- কম আলোতে QR কোড স্ক্যান করা হচ্ছে
আপনি যদি লো লাইট বুস্ট সক্ষম করেন, কম আলোর স্তর থাকলে এটি স্বয়ংক্রিয়ভাবে চালু হয় এবং যখন বেশি আলো থাকে তখন বন্ধ হয়ে যায়।
অ্যাপ্লিকেশানগুলি একটি উজ্জ্বল ভিডিও সংরক্ষণ করতে কম আলোতে প্রিভিউ স্ট্রিম রেকর্ড করতে পারে৷
আরও তথ্যের জন্য, লো লাইট বুস্ট দেখুন।
ইন-অ্যাপ ক্যামেরা নিয়ন্ত্রণ
অ্যান্ড্রয়েড 15 সমর্থিত ডিভাইসগুলিতে ক্যামেরা হার্ডওয়্যার এবং এর অ্যালগরিদমগুলির উপর আরও নিয়ন্ত্রণের জন্য একটি এক্সটেনশন যুক্ত করে:
- উন্নত ফ্ল্যাশ শক্তি সমন্বয় ইমেজ ক্যাপচার করার সময়
SINGLEএবংTORCHউভয় মোডে ফ্ল্যাশ তীব্রতার সুনির্দিষ্ট নিয়ন্ত্রণ সক্ষম করে।
এইচডিআর হেডরুম নিয়ন্ত্রণ
Android 15 会选择适合底层设备功能和面板位深的 HDR 余量。对于包含大量 SDR 内容的网页(例如显示单个 HDR 缩略图的消息应用),此行为最终可能会对 SDR 内容的感知亮度产生不利影响。在 Android 15 中,您可以使用 setDesiredHdrHeadroom 控制 HDR 余量,以便在 SDR 内容和 HDR 内容之间取得平衡。
উচ্চস্বরে নিয়ন্ত্রণ

অ্যান্ড্রয়েড 15 CTA-2075 লাউডনেস স্ট্যান্ডার্ডের জন্য সমর্থন প্রবর্তন করে যাতে আপনি অডিও লাউডনেস অসঙ্গতিগুলি এড়াতে এবং কনটেন্টের মধ্যে পরিবর্তন করার সময় ব্যবহারকারীদের ক্রমাগত ভলিউম সামঞ্জস্য করতে না হয় তা নিশ্চিত করতে সহায়তা করে। সিস্টেমটি আউটপুট ডিভাইসের (হেডফোন এবং স্পিকার) পরিচিত বৈশিষ্ট্যগুলির সাথে AAC অডিও সামগ্রীতে উপলব্ধ লাউডনেস মেটাডেটা সহ অডিও লাউডনেস এবং ডাইনামিক রেঞ্জ কম্প্রেশন স্তরগুলিকে বুদ্ধিমত্তার সাথে সামঞ্জস্য করে।
এই বৈশিষ্ট্যটি সক্ষম করতে, আপনাকে আপনার AAC সামগ্রীতে লাউডনেস মেটাডেটা উপলব্ধ রয়েছে তা নিশ্চিত করতে হবে এবং আপনার অ্যাপে প্ল্যাটফর্ম বৈশিষ্ট্যটি সক্ষম করতে হবে। এর জন্য, আপনি একটি LoudnessCodecController অবজেক্টের সাথে যুক্ত AudioTrack থেকে অডিও সেশন আইডি সহ এটির তৈরি ফ্যাক্টরি পদ্ধতিতে কল করে ইনস্ট্যান্টিশিয়েট করেন; এটি স্বয়ংক্রিয়ভাবে অডিও আপডেট প্রয়োগ করা শুরু করে। আপনি একটি OnLoudnessCodecUpdateListener পাস করতে পারেন MediaCodec এ প্রয়োগ করার আগে লাউডনেস প্যারামিটারগুলি সংশোধন বা ফিল্টার করতে।
// Media contains metadata of type MPEG_4 OR MPEG_D
val mediaCodec = …
val audioTrack = AudioTrack.Builder()
.setSessionId(sessionId)
.build()
...
// Create new loudness controller that applies the parameters to the MediaCodec
try {
val lcController = LoudnessCodecController.create(mSessionId)
// Starts applying audio updates for each added MediaCodec
}
একটি নির্বিঘ্ন অ্যাপ ইন্টিগ্রেশনের জন্য LoudnessCodecController API ব্যবহার করার জন্য AndroidX media3 ExoPlayerও আপডেট করা হবে।
ভার্চুয়াল MIDI 2.0 ডিভাইস
Android 13 ইউএসবি ব্যবহার করে MIDI 2.0 ডিভাইসে সংযোগ করার জন্য সমর্থন যোগ করেছে, যা ইউনিভার্সাল MIDI প্যাকেট (UMP) ব্যবহার করে যোগাযোগ করে। Android 15 ভার্চুয়াল MIDI অ্যাপগুলিতে UMP সমর্থন প্রসারিত করে, কম্পোজিশন অ্যাপগুলিকে একটি ভার্চুয়াল MIDI 2.0 ডিভাইস হিসাবে সিন্থেসাইজার অ্যাপগুলিকে নিয়ন্ত্রণ করতে সক্ষম করে ঠিক যেমন তারা একটি USB MIDI 2.0 ডিভাইসের সাথে করে।
আরও দক্ষ AV1 সফ্টওয়্যার ডিকোডিং

dav1d , VideoLAN-এর জনপ্রিয় AV1 সফ্টওয়্যার ডিকোডার Android ডিভাইসগুলির জন্য উপলব্ধ যা হার্ডওয়্যারে AV1 ডিকোড সমর্থন করে না। dav1d লিগ্যাসি AV1 সফ্টওয়্যার ডিকোডারের চেয়ে 3 গুণ বেশি পারফরম্যান্ট, কিছু নিম্ন এবং মধ্য স্তরের ডিভাইস সহ আরও ব্যবহারকারীদের জন্য HD AV1 প্লেব্যাক সক্ষম করে৷
আপনার অ্যাপটিকে "c2.android.av1-dav1d.decoder" নামে ডাকার মাধ্যমে dav1d ব্যবহার করতে অপ্ট-ইন করতে হবে। পরবর্তী আপডেটে dav1d কে ডিফল্ট AV1 সফ্টওয়্যার ডিকোডার করা হবে। এই সমর্থনটি প্রমিত এবং Android 11 ডিভাইসগুলিতে ব্যাকপোর্ট করা হয়েছে যা Google Play সিস্টেম আপডেটগুলি গ্রহণ করে।
বিকাশকারীর উত্পাদনশীলতা এবং সরঞ্জাম
অ্যান্ড্রয়েড স্টুডিও , জেটপ্যাক কম্পোজ এবং অ্যান্ড্রয়েড জেটপ্যাক লাইব্রেরির মতো টুলগুলির আশেপাশে আপনার উত্পাদনশীলতা কেন্দ্রগুলিকে উন্নত করার জন্য আমাদের বেশিরভাগ কাজ করার সময়, আমরা সর্বদা প্ল্যাটফর্মে উপায়গুলি সন্ধান করি যাতে আপনাকে আরও সহজে আপনার দৃষ্টিভঙ্গি উপলব্ধি করতে সহায়তা করে৷
OpenJDK 17 আপডেট
Android 15 সর্বশেষ OpenJDK LTS রিলিজের বৈশিষ্ট্যগুলির সাথে সারিবদ্ধ করার জন্য Android এর মূল লাইব্রেরিগুলিকে রিফ্রেশ করার কাজ চালিয়ে যাচ্ছে।
নিম্নলিখিত মূল বৈশিষ্ট্য এবং উন্নতি অন্তর্ভুক্ত করা হয়েছে:
- এনআইও বাফারের চারপাশে জীবনের গুণমানের উন্নতি
- প্রবাহ
- অতিরিক্ত
mathএবংstrictmathপদ্ধতি - অনুক্রম
collection,map, এবংsetসহ প্যাকেজ আপডেটগুলিutil৷ -
DeflaterএByteBufferসমর্থন - নিরাপত্তা আপডেট যেমন
X500PrivateCredentialএবং নিরাপত্তা কী আপডেট
এই APIগুলি Google Play সিস্টেম আপডেটের মাধ্যমে Android 12 (API স্তর 31) এবং উচ্চতর চলমান এক বিলিয়নেরও বেশি ডিভাইসে আপডেট করা হয়, যাতে আপনি সর্বশেষ প্রোগ্রামিং বৈশিষ্ট্যগুলি লক্ষ্য করতে পারেন৷
PDF উন্নতি
Android 15-এ PdfRenderer API-এর উল্লেখযোগ্য উন্নতি রয়েছে। অ্যাপগুলি পাসওয়ার্ড-সুরক্ষিত ফাইল রেন্ডারিং, টীকা, ফর্ম সম্পাদনা , অনুসন্ধান এবং অনুলিপি সহ নির্বাচনের মতো উন্নত বৈশিষ্ট্যগুলিকে অন্তর্ভুক্ত করতে পারে৷ লিনিয়ারাইজড পিডিএফ অপ্টিমাইজেশানগুলি স্থানীয় পিডিএফ দেখার গতি এবং সম্পদের ব্যবহার কমাতে সমর্থিত। জেটপ্যাক পিডিএফ লাইব্রেরি আপনার অ্যাপে পিডিএফ দেখার ক্ষমতা যোগ করা সহজ করতে এই APIগুলি ব্যবহার করে।

PdfRenderer একটি মডিউলে সরানো হয়েছে যা প্ল্যাটফর্ম রিলিজ ছাড়া Google Play সিস্টেম আপডেটগুলি ব্যবহার করে আপডেট করা যেতে পারে, এবং আমরা এই পরিবর্তনগুলিকে Android 11 (API স্তর 30)-এ একটি সামঞ্জস্যপূর্ণ প্রি-Android 15 সংস্করণ তৈরি করে সমর্থন করছি। API পৃষ্ঠ, PdfRendererPreV নামে পরিচিত।
Android 15-এ PdfRenderer API-এর উল্লেখযোগ্য উন্নতি রয়েছে। অ্যাপগুলি পাসওয়ার্ড-সুরক্ষিত ফাইল রেন্ডারিং, টীকা, ফর্ম সম্পাদনা , অনুসন্ধান এবং অনুলিপি সহ নির্বাচনের মতো উন্নত বৈশিষ্ট্যগুলিকে অন্তর্ভুক্ত করতে পারে৷ লিনিয়ারাইজড পিডিএফ অপ্টিমাইজেশানগুলি স্থানীয় পিডিএফ দেখার গতি এবং সম্পদের ব্যবহার কমাতে সমর্থিত। জেটপ্যাক পিডিএফ লাইব্রেরি আপনার অ্যাপে পিডিএফ দেখার ক্ষমতা যোগ করা সহজ করতে এই APIগুলি ব্যবহার করে।

PdfRenderer একটি মডিউলে সরানো হয়েছে যা প্ল্যাটফর্ম রিলিজ ছাড়া Google Play সিস্টেম আপডেটগুলি ব্যবহার করে আপডেট করা যেতে পারে, এবং আমরা এই পরিবর্তনগুলিকে Android 11 (API স্তর 30)-এ একটি সামঞ্জস্যপূর্ণ প্রি-Android 15 সংস্করণ তৈরি করে সমর্থন করছি। API পৃষ্ঠ, PdfRendererPreV নামে পরিচিত।
Android 15-এ PdfRenderer API-এর উল্লেখযোগ্য উন্নতি রয়েছে। অ্যাপগুলি পাসওয়ার্ড-সুরক্ষিত ফাইল রেন্ডারিং, টীকা, ফর্ম সম্পাদনা , অনুসন্ধান এবং অনুলিপি সহ নির্বাচনের মতো উন্নত বৈশিষ্ট্যগুলিকে অন্তর্ভুক্ত করতে পারে৷ লিনিয়ারাইজড পিডিএফ অপ্টিমাইজেশানগুলি স্থানীয় পিডিএফ দেখার গতি এবং সম্পদের ব্যবহার কমাতে সমর্থিত। জেটপ্যাক পিডিএফ লাইব্রেরি আপনার অ্যাপে পিডিএফ দেখার ক্ষমতা যোগ করা সহজ করতে এই APIগুলি ব্যবহার করে।

PdfRenderer একটি মডিউলে সরানো হয়েছে যা প্ল্যাটফর্ম রিলিজ ছাড়া Google Play সিস্টেম আপডেটগুলি ব্যবহার করে আপডেট করা যেতে পারে, এবং আমরা এই পরিবর্তনগুলিকে Android 11 (API স্তর 30)-এ একটি সামঞ্জস্যপূর্ণ প্রি-Android 15 সংস্করণ তৈরি করে সমর্থন করছি। API পৃষ্ঠ, PdfRendererPreV নামে পরিচিত।
স্বয়ংক্রিয় ভাষা পরিবর্তন পরিমার্জন
Android 14 在音频中添加了设备端多语言识别功能,并支持在语言之间自动切换,但这可能会导致丢失字词,尤其是当两次语音之间语言切换的间隔时间较短时。Android 15 添加了其他控件,以帮助应用根据其用例调整此切换。EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS 会将自动切换限制在音频会话开始时,而 EXTRA_LANGUAGE_SWITCH_MATCH_SWITCHES 会在发生指定次数的切换后停用语言切换。如果您预计会话期间只会使用一种语言,并且该语言应被自动检测到,这些选项会特别有用。
উন্নত OpenType ভেরিয়েবল ফন্ট API
Android 15 OpenType ভেরিয়েবল ফন্টের ব্যবহারযোগ্যতা উন্নত করে। আপনি buildVariableFamily API এর সাথে ওজন অক্ষ উল্লেখ না করে একটি পরিবর্তনশীল ফন্ট থেকে একটি FontFamily উদাহরণ তৈরি করতে পারেন। টেক্সট রেন্ডারার প্রদর্শন করা টেক্সট মেলে wght অক্ষের মান ওভাররাইড করে।
এপিআই ব্যবহার করে একটি Typeface তৈরির জন্য কোডটিকে যথেষ্ট সরল করে:
কোটলিন
val newTypeface = Typeface.CustomFallbackBuilder( FontFamily.Builder( Font.Builder(assets, "RobotoFlex.ttf").build()) .buildVariableFamily()) .build()
জাভা
Typeface newTypeface = Typeface.CustomFallbackBuilder( new FontFamily.Builder( new Font.Builder(assets, "RobotoFlex.ttf").build()) .buildVariableFamily()) .build();
পূর্বে, একই Typeface তৈরি করতে, আপনার আরও অনেক কোডের প্রয়োজন হবে:
কোটলিন
val oldTypeface = Typeface.CustomFallbackBuilder( FontFamily.Builder( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 400") .setWeight(400) .build()) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 100") .setWeight(100) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 200") .setWeight(200) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 300") .setWeight(300) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 500") .setWeight(500) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 600") .setWeight(600) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 700") .setWeight(700) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 800") .setWeight(800) .build() ) .addFont( Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 900") .setWeight(900) .build() ).build() ).build()
জাভা
Typeface oldTypeface = new Typeface.CustomFallbackBuilder( new FontFamily.Builder( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 400") .setWeight(400) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 100") .setWeight(100) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 200") .setWeight(200) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 300") .setWeight(300) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 500") .setWeight(500) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 600") .setWeight(600) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 700") .setWeight(700) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 800") .setWeight(800) .build() ) .addFont( new Font.Builder(assets, "RobotoFlex.ttf") .setFontVariationSettings("'wght' 900") .setWeight(900) .build() ) .build() ).build();
পুরানো এবং নতুন উভয় API এর সাথে কীভাবে একটি Typeface তৈরি হয় তার একটি উদাহরণ এখানে দেওয়া হল:

এই উদাহরণে, পুরানো API দিয়ে তৈরি করা Typeface 350, 450, 550 এবং 650 Font উদাহরণগুলির জন্য সঠিক ফন্টের ওজন তৈরি করার ক্ষমতা রাখে না, তাই রেন্ডারার সবচেয়ে কাছের ওজনে ফিরে আসে। সুতরাং এই ক্ষেত্রে, 350 এর পরিবর্তে 300 রেন্ডার করা হয়, 450 এর পরিবর্তে 400 রেন্ডার করা হয়, ইত্যাদি। বিপরীতে, নতুন এপিআইগুলির সাথে তৈরি Typeface গতিশীলভাবে একটি প্রদত্ত ওজনের জন্য একটি Font উদাহরণ তৈরি করে, তাই সঠিক ওজন 350, 450, 550 এবং 650 এর জন্যও রেন্ডার করা হয়।
দানাদার লাইন বিরতি নিয়ন্ত্রণ
অ্যান্ড্রয়েড 15 থেকে শুরু করে, পাঠযোগ্যতা উন্নত করতে একটি TextView এবং অন্তর্নিহিত লাইন ব্রেকার একই লাইনে পাঠ্যের প্রদত্ত অংশ সংরক্ষণ করতে পারে। আপনি স্ট্রিং রিসোর্সে <nobreak> ট্যাগ ব্যবহার করে অথবা createNoBreakSpan এই লাইন ব্রেক কাস্টমাইজেশনের সুবিধা নিতে পারেন। একইভাবে, আপনি <nohyphen> ট্যাগ বা createNoHyphenationSpan ব্যবহার করে হাইফেনেশন থেকে শব্দ সংরক্ষণ করতে পারেন।
উদাহরণ স্বরূপ, নিম্নলিখিত স্ট্রিং রিসোর্সে লাইন ব্রেক নেই এবং "Pixel 8 Pro" লেখার সাথে রেন্ডার করা হয়। একটি অবাঞ্ছিত জায়গায় ভাঙ্গা:
<resources>
<string name="pixel8pro">The power and brains behind Pixel 8 Pro.</string>
</resources>
বিপরীতে, এই স্ট্রিং রিসোর্সটিতে <nobreak> ট্যাগ অন্তর্ভুক্ত রয়েছে, যা "Pixel 8 Pro" শব্দটিকে মোড়ানো। এবং লাইন ব্রেক প্রতিরোধ করে:
<resources>
<string name="pixel8pro">The power and brains behind <nobreak>Pixel 8 Pro.</nobreak></string>
</resources>
এই স্ট্রিংগুলি কীভাবে রেন্ডার করা হয় তার পার্থক্য নিম্নলিখিত চিত্রগুলিতে দেখানো হয়েছে:

<nobreak> ট্যাগ ব্যবহার করে মোড়ানো হয় না। 
<nobreak> ট্যাগ ব্যবহার করে মোড়ানো হয়।অ্যাপ সংরক্ষণাগার
Android 和 Google Play 宣布支持最后的应用归档功能 年,这让用户可以通过移除部分内容来释放空间 通过 Android 应用发布的设备中不常用的应用 前往 Google Play 下载套装。Android 15 在操作系统级别支持应用归档和解压缩,让所有应用商店都能更轻松地实现归档和解压缩。
具有 REQUEST_DELETE_PACKAGES 权限的应用可以调用
PackageInstaller requestArchive 方法请求归档
已安装的应用软件包,这会移除 APK 和所有缓存的文件,但会保留
用户数据已归档的应用会通过 LauncherApps API 作为可显示的应用返回;用户会看到一个界面处理,以突出显示这些应用已归档。如果用户点按已归档的应用,负责安装的应用会收到解除归档请求,并且可以通过 ACTION_PACKAGE_ADDED 广播监控恢复过程。
使用开发者选项在设备上启用 16 KB 模式
切换以 16KB 页面大小启动设备开发者选项,以在 16 KB 模式下启动设备。
从 Android 15 QPR1 开始,您可以使用某些设备上提供的开发者选项,以 16 KB 模式启动设备并执行设备端测试。在使用开发者选项之前,请依次前往设置 > 系统 > 软件更新,并应用所有可用的更新。
此开发者选项适用于以下设备:
Pixel 8 和 8 Pro(搭载 Android 15 QPR1 或更高版本)
Pixel 8a(搭载 Android 15 QPR1 或更高版本)
Pixel 9、9 Pro 和 9 Pro XL(搭载 Android 15 QPR2 Beta 2 或更高版本)
গ্রাফিক্স
Android 15 ক্যানভাস গ্রাফিক্স সিস্টেমে ANGLE এবং সংযোজন সহ সাম্প্রতিক গ্রাফিক্স উন্নতি নিয়ে আসে।
অ্যান্ড্রয়েডের জিপিইউ অ্যাক্সেসের আধুনিকীকরণ
Android hardware has evolved quite a bit from the early days where the core OS would run on a single CPU and GPUs were accessed using APIs based on fixed-function pipelines. The Vulkan® graphics API has been available in the NDK since Android 7.0 (API level 24) with a lower-level abstraction that better reflects modern GPU hardware, scales better to support multiple CPU cores, and offers reduced CPU driver overhead — leading to improved app performance. Vulkan is supported by all modern game engines.
Vulkan is Android's preferred interface to the GPU. Therefore, Android 15 includes ANGLE as an optional layer for running OpenGL® ES on top of Vulkan. Moving to ANGLE will standardize the Android OpenGL implementation for improved compatibility, and, in some cases, improved performance. You can test out your OpenGL ES app stability and performance with ANGLE by enabling the developer option in Settings -> System -> Developer Options -> Experimental: Enable ANGLE on Android 15.
The Android ANGLE on Vulkan roadmap
As part of streamlining our GPU stack, going forward we will be shipping ANGLE as the GL system driver on more new devices, with the future expectation that OpenGL/ES will be only available through ANGLE. That being said, we plan to continue support for OpenGL ES on all devices.
Recommended next steps
Use the developer options to select the ANGLE driver for OpenGL ES and test your app. For new projects, we strongly encourage using Vulkan for C/C++.
ক্যানভাসের জন্য উন্নতি
Android 15 继续对 Android 的 Canvas 图形系统进行现代化改造,并新增了以下功能:
Matrix44提供一个 4x4 矩阵来转换坐标,当您想在 3D 中操控画布时,应使用此矩阵。clipShader会将当前剪裁区域与指定的着色器相交,而clipOutShader会将剪裁区域设为当前剪裁区域与着色器的差值,每个操作都会将着色器视为一个 Alpha 遮罩。这支持高效地绘制复杂形状。
কর্মক্ষমতা এবং ব্যাটারি
অ্যান্ড্রয়েড আপনার অ্যাপ্লিকেশানগুলির কার্যকারিতা এবং গুণমান উন্নত করতে সহায়তা করার উপর তার ফোকাস চালিয়ে যাচ্ছে৷ অ্যান্ড্রয়েড 15 এমন API গুলি প্রবর্তন করে যা আপনার অ্যাপের কাজগুলিকে কার্যকর করতে, অ্যাপের কার্যক্ষমতা অপ্টিমাইজ করতে এবং আপনার অ্যাপ সম্পর্কে অন্তর্দৃষ্টি সংগ্রহ করতে সাহায্য করে।
ব্যাটারি-দক্ষ সর্বোত্তম অনুশীলন, ডিবাগিং নেটওয়ার্ক এবং পাওয়ার ব্যবহার এবং অ্যান্ড্রয়েড 15 এবং অ্যান্ড্রয়েডের সাম্প্রতিক সংস্করণগুলিতে আমরা কীভাবে ব্যাকগ্রাউন্ড কাজের ব্যাটারির দক্ষতা উন্নত করছি তার বিশদ বিবরণের জন্য, Google I/O থেকে Android টক-এ ব্যাকগ্রাউন্ড কাজের ব্যাটারির দক্ষতার উন্নতি দেখুন।
ApplicationStartInfo API
অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলিতে, অ্যাপ স্টার্টআপটি কিছুটা রহস্যজনক ছিল। এটি ঠান্ডা, উষ্ণ বা গরম অবস্থা থেকে শুরু হয়েছে কিনা তা আপনার অ্যাপের মধ্যে নির্ধারণ করা চ্যালেঞ্জিং ছিল। বিভিন্ন লঞ্চের পর্যায়গুলিতে আপনার অ্যাপটি কতক্ষণ ব্যয় করেছে তা জানাও কঠিন ছিল: প্রক্রিয়াটি কাঁটাচামচ করা, onCreate কল করা, প্রথম ফ্রেম আঁকা এবং আরও অনেক কিছু। যখন আপনার Application ক্লাসটি চালু করা হয়েছিল, তখন আপনার জানার কোন উপায় ছিল না যে অ্যাপটি একটি সম্প্রচার থেকে শুরু হয়েছে, একটি বিষয়বস্তু প্রদানকারী, একটি কাজ, একটি ব্যাকআপ, বুট সম্পূর্ণ হয়েছে, একটি অ্যালার্ম, বা একটি Activity ।
Android 15-এ ApplicationStartInfo API এই সমস্ত এবং আরও অনেক কিছু সরবরাহ করে। এমনকি আপনি এক জায়গায় টাইমিং ডেটা সংগ্রহ করতে সাহায্য করার জন্য প্রবাহে আপনার নিজস্ব টাইমস্ট্যাম্প যোগ করতেও বেছে নিতে পারেন। মেট্রিক্স সংগ্রহের পাশাপাশি, আপনি অ্যাপ স্টার্টআপকে সরাসরি অপ্টিমাইজ করতে সাহায্য করতে ApplicationStartInfo ব্যবহার করতে পারেন; উদাহরণস্বরূপ, যখন আপনার অ্যাপটি একটি সম্প্রচারের কারণে শুরু হয় তখন আপনি আপনার Application ক্লাসের মধ্যে UI-সম্পর্কিত লাইব্রেরিগুলির ব্যয়বহুল ইন্সট্যান্সটি বাদ দিতে পারেন।
বিস্তারিত অ্যাপ্লিকেশন আকার তথ্য
Android 8.0 (API স্তর 26) থেকে, Android StorageStats.getAppBytes API অন্তর্ভুক্ত করেছে যা একটি অ্যাপের ইনস্টল করা আকারকে একক সংখ্যা বাইট হিসাবে সংক্ষিপ্ত করে, যা APK আকারের সমষ্টি, APK থেকে বের করা ফাইলের আকার, এবং ফাইলগুলি যেগুলি ডিভাইসে তৈরি হয়েছিল যেমন আগ-অফ-টাইম (AOT) সংকলিত কোড। আপনার অ্যাপ কীভাবে স্টোরেজ ব্যবহার করছে তার পরিপ্রেক্ষিতে এই সংখ্যাটি খুব অন্তর্দৃষ্টিপূর্ণ নয়।
Android 15 StorageStats.getAppBytesByDataType([type]) API যোগ করে, যা আপনাকে APK ফাইল বিভাজন, AOT এবং স্পিডআপ সম্পর্কিত কোড, ডেক্স মেটাডেটা, লাইব্রেরি এবং নির্দেশিত প্রোফাইল সহ আপনার অ্যাপ কীভাবে সমস্ত স্থান ব্যবহার করছে তার অন্তর্দৃষ্টি পেতে দেয়।
অ্যাপ-পরিচালিত প্রোফাইলিং
Android 15 包含 ProfilingManager 类,可让您从应用内部收集性能分析信息,例如堆转储、堆分析报告、堆栈采样等。它使用提供的标记为您的应用提供回调,以标识输出文件,该文件将传递给应用的文件目录。该 API 会进行速率限制,以尽可能降低对性能的影响。
为了简化在应用中构建性能分析请求的过程,我们建议您使用 Core 1.15.0-rc01 或更高版本中的相应 Profiling AndroidX API。
SQLite ডাটাবেসের উন্নতি
Android 15 introduces SQLite APIs that expose advanced features from the underlying SQLite engine that target specific performance issues that can manifest in apps. These APIs are included with the update of SQLite to version 3.44.3.
Developers should consult best practices for SQLite performance to get the most out of their SQLite database, especially when working with large databases or when running latency-sensitive queries.
- Read-only deferred transactions: when issuing transactions that are
read-only (don't include write statements), use
beginTransactionReadOnly()andbeginTransactionWithListenerReadOnly(SQLiteTransactionListener)to issue read-onlyDEFERREDtransactions. Such transactions can run concurrently with each other, and if the database is in WAL mode, they can run concurrently withIMMEDIATEorEXCLUSIVEtransactions. - Row counts and IDs: APIs were added to retrieve the count of changed
rows or the last inserted row ID without issuing an additional query.
getLastChangedRowCount()returns the number of rows that were inserted, updated, or deleted by the most recent SQL statement within the current transaction, whilegetTotalChangedRowCount()returns the count on the current connection.getLastInsertRowId()returns therowidof the last row to be inserted on the current connection. - Raw statements: issue a raw SQlite statement, bypassing convenience wrappers and any additional processing overhead that they may incur.
অ্যান্ড্রয়েড ডায়নামিক পারফরম্যান্স ফ্রেমওয়ার্ক আপডেট
Android 15 অ্যান্ড্রয়েড ডায়নামিক পারফরম্যান্স ফ্রেমওয়ার্ক (ADPF) এ আমাদের বিনিয়োগ অব্যাহত রেখেছে, একটি API-এর সেট যা গেমস এবং পারফরম্যান্স নিবিড় অ্যাপগুলিকে Android ডিভাইসের পাওয়ার এবং থার্মাল সিস্টেমের সাথে আরও সরাসরি যোগাযোগ করতে দেয়। সমর্থিত ডিভাইসগুলিতে, Android 15 ADPF ক্ষমতা যুক্ত করে:
- ইঙ্গিত সেশনের জন্য একটি পাওয়ার-দক্ষতা মোড নির্দেশ করে যে তাদের সম্পর্কিত থ্রেডগুলি কার্যক্ষমতার চেয়ে পাওয়ার সাশ্রয়কে পছন্দ করবে, দীর্ঘ-চলমান ব্যাকগ্রাউন্ড ওয়ার্কলোডের জন্য দুর্দান্ত।
- GPU এবং CPU কাজের সময়কাল উভয় ইঙ্গিত সেশনে রিপোর্ট করা যেতে পারে, সিস্টেমকে কাজের চাপের চাহিদা মেটাতে একসাথে CPU এবং GPU ফ্রিকোয়েন্সি সামঞ্জস্য করার অনুমতি দেয়।
- থার্মাল হেডরুম থ্রেশহোল্ড হেডরুম পূর্বাভাসের উপর ভিত্তি করে সম্ভাব্য থার্মাল থ্রটলিং স্ট্যাটাস ব্যাখ্যা করতে।
আপনার অ্যাপস এবং গেমগুলিতে কীভাবে ADPF ব্যবহার করবেন সে সম্পর্কে আরও জানতে, ডকুমেন্টেশনে যান ।
,Android 15 অ্যান্ড্রয়েড ডায়নামিক পারফরম্যান্স ফ্রেমওয়ার্ক (ADPF) এ আমাদের বিনিয়োগ অব্যাহত রেখেছে, একটি API-এর সেট যা গেমস এবং পারফরম্যান্স নিবিড় অ্যাপগুলিকে Android ডিভাইসের পাওয়ার এবং থার্মাল সিস্টেমের সাথে আরও সরাসরি যোগাযোগ করতে দেয়। সমর্থিত ডিভাইসগুলিতে, Android 15 ADPF ক্ষমতা যুক্ত করে:
- ইঙ্গিত সেশনের জন্য একটি পাওয়ার-দক্ষতা মোড নির্দেশ করে যে তাদের সম্পর্কিত থ্রেডগুলি কার্যক্ষমতার চেয়ে পাওয়ার সাশ্রয়কে পছন্দ করবে, দীর্ঘ-চলমান ব্যাকগ্রাউন্ড ওয়ার্কলোডের জন্য দুর্দান্ত।
- GPU এবং CPU কাজের সময়কাল উভয় ইঙ্গিত সেশনে রিপোর্ট করা যেতে পারে, সিস্টেমকে কাজের চাপের চাহিদা মেটাতে একসাথে CPU এবং GPU ফ্রিকোয়েন্সি সামঞ্জস্য করার অনুমতি দেয়।
- থার্মাল হেডরুম থ্রেশহোল্ড হেডরুম পূর্বাভাসের উপর ভিত্তি করে সম্ভাব্য থার্মাল থ্রটলিং স্ট্যাটাস ব্যাখ্যা করতে।
আপনার অ্যাপস এবং গেমগুলিতে কীভাবে ADPF ব্যবহার করবেন সে সম্পর্কে আরও জানতে, ডকুমেন্টেশনে যান ।
,Android 15 অ্যান্ড্রয়েড ডায়নামিক পারফরম্যান্স ফ্রেমওয়ার্ক (ADPF) এ আমাদের বিনিয়োগ অব্যাহত রেখেছে, একটি API-এর সেট যা গেমস এবং পারফরম্যান্স নিবিড় অ্যাপগুলিকে Android ডিভাইসের পাওয়ার এবং থার্মাল সিস্টেমের সাথে আরও সরাসরি যোগাযোগ করতে দেয়। সমর্থিত ডিভাইসগুলিতে, Android 15 ADPF ক্ষমতা যুক্ত করে:
- ইঙ্গিত সেশনের জন্য একটি পাওয়ার-দক্ষতা মোড নির্দেশ করে যে তাদের সম্পর্কিত থ্রেডগুলি কার্যক্ষমতার চেয়ে পাওয়ার সাশ্রয়কে পছন্দ করবে, দীর্ঘ-চলমান ব্যাকগ্রাউন্ড ওয়ার্কলোডের জন্য দুর্দান্ত।
- GPU এবং CPU কাজের সময়কাল উভয় ইঙ্গিত সেশনে রিপোর্ট করা যেতে পারে, সিস্টেমকে কাজের চাপের চাহিদা মেটাতে একসাথে CPU এবং GPU ফ্রিকোয়েন্সি সামঞ্জস্য করার অনুমতি দেয়।
- থার্মাল হেডরুম থ্রেশহোল্ড হেডরুম পূর্বাভাসের উপর ভিত্তি করে সম্ভাব্য থার্মাল থ্রটলিং স্ট্যাটাস ব্যাখ্যা করতে।
আপনার অ্যাপস এবং গেমগুলিতে কীভাবে ADPF ব্যবহার করবেন সে সম্পর্কে আরও জানতে, ডকুমেন্টেশনে যান ।
গোপনীয়তা
Android 15-এ বিভিন্ন বৈশিষ্ট্য রয়েছে যা অ্যাপ বিকাশকারীদের ব্যবহারকারীর গোপনীয়তা রক্ষা করতে সহায়তা করে।
স্ক্রীন রেকর্ডিং সনাক্তকরণ
Android 15 adds support for apps to detect that they are being recorded. A callback is invoked whenever the app transitions between being visible or invisible within a screen recording. An app is considered visible if activities owned by the registering process's UID are being recorded. This way, if your app is performing a sensitive operation, you can inform the user that they're being recorded.
val mCallback = Consumer<Int> { state ->
if (state == SCREEN_RECORDING_STATE_VISIBLE) {
// We're being recorded
} else {
// We're not being recorded
}
}
override fun onStart() {
super.onStart()
val initialState =
windowManager.addScreenRecordingCallback(mainExecutor, mCallback)
mCallback.accept(initialState)
}
override fun onStop() {
super.onStop()
windowManager.removeScreenRecordingCallback(mCallback)
}
প্রসারিত IntentFilter ক্ষমতা
Android 15 UriRelativeFilterGroup মাধ্যমে আরও সুনির্দিষ্ট Intent রেজোলিউশনের জন্য সমর্থন করে, যাতে UriRelativeFilter অবজেক্টের একটি সেট রয়েছে যা Intent ম্যাচিং নিয়মগুলির একটি সেট তৈরি করে যা প্রত্যেককে অবশ্যই সন্তুষ্ট হতে হবে, যার মধ্যে URL ক্যোয়ারী প্যারামিটার, URL খণ্ড এবং ব্লক করা বা বর্জনের নিয়ম রয়েছে।
এই নিয়মগুলিকে AndroidManifest XML ফাইলে <uri-relative-filter-group> ট্যাগ দিয়ে সংজ্ঞায়িত করা যেতে পারে, যা ঐচ্ছিকভাবে একটি android:allow ট্যাগ অন্তর্ভুক্ত করতে পারে। এই ট্যাগগুলিতে <data> ট্যাগ থাকতে পারে যা বিদ্যমান ডেটা ট্যাগ বৈশিষ্ট্যগুলির পাশাপাশি android:query এবং android:fragment বৈশিষ্ট্যগুলি ব্যবহার করে৷
এখানে AndroidManifest সিনট্যাক্সের একটি উদাহরণ:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="astore.com" />
<uri-relative-filter-group>
<data android:pathPrefix="/auth" />
<data android:query="region=na" />
</uri-relative-filter-group>
<uri-relative-filter-group android:allow="false">
<data android:pathPrefix="/auth" />
<data android:query="mobileoptout=true" />
</uri-relative-filter-group>
<uri-relative-filter-group android:allow="false">
<data android:pathPrefix="/auth" />
<data android:fragmentPrefix="faq" />
</uri-relative-filter-group>
</intent-filter>
ব্যক্তিগত স্থান
ব্যক্তিগত স্থান ব্যবহারকারীদের তাদের ডিভাইসে একটি পৃথক স্থান তৈরি করতে দেয় যেখানে তারা প্রমাণীকরণের একটি অতিরিক্ত স্তরের অধীনে সংবেদনশীল অ্যাপগুলিকে চোখ থেকে দূরে রাখতে পারে। ব্যক্তিগত স্থান একটি পৃথক ব্যবহারকারী প্রোফাইল ব্যবহার করে। ব্যবহারকারী ব্যক্তিগত স্থানের জন্য ডিভাইস লক বা একটি পৃথক লক ফ্যাক্টর ব্যবহার করতে পারেন।
ব্যক্তিগত স্থানের অ্যাপ্লিকেশনগুলি লঞ্চারে একটি পৃথক পাত্রে প্রদর্শিত হয় এবং ব্যক্তিগত স্থানটি লক করা অবস্থায় সাম্প্রতিক দৃশ্য, বিজ্ঞপ্তি, সেটিংস এবং অন্যান্য অ্যাপ্লিকেশন থেকে লুকিয়ে থাকে৷ ব্যবহারকারী দ্বারা তৈরি এবং ডাউনলোড করা সামগ্রী (যেমন মিডিয়া বা ফাইল) এবং অ্যাকাউন্টগুলি ব্যক্তিগত স্থান এবং প্রধান স্থানের মধ্যে পৃথক করা হয়। সিস্টেম শেয়ারশীট এবং ফটো পিকার ব্যবহার করা যেতে পারে অ্যাপগুলিকে স্পেস জুড়ে সামগ্রীতে অ্যাক্সেস দেওয়ার জন্য যখন ব্যক্তিগত স্থানটি আনলক করা থাকে।
ব্যবহারকারীরা বিদ্যমান অ্যাপ এবং তাদের ডেটা ব্যক্তিগত স্থানে সরাতে পারবেন না। পরিবর্তে, ব্যবহারকারীরা তাদের পছন্দের অ্যাপ স্টোর ব্যবহার করে একটি অ্যাপ ইনস্টল করতে ব্যক্তিগত স্থানে একটি ইনস্টল বিকল্প নির্বাচন করেন। প্রাইভেট স্পেসে অ্যাপগুলি মূল স্পেসের যেকোন অ্যাপ থেকে আলাদা কপি হিসেবে ইনস্টল করা হয় (একই অ্যাপের নতুন কপি)।
যখন একজন ব্যবহারকারী ব্যক্তিগত স্থান লক করে, প্রোফাইলটি বন্ধ হয়ে যায়। প্রোফাইল বন্ধ থাকাকালীন, ব্যক্তিগত স্থানের অ্যাপগুলি আর সক্রিয় থাকে না এবং বিজ্ঞপ্তিগুলি দেখানো সহ ফোরগ্রাউন্ড বা ব্যাকগ্রাউন্ড ক্রিয়াকলাপগুলি সম্পাদন করতে পারে না৷
আমরা সুপারিশ করছি যে আপনি আপনার অ্যাপটি প্রত্যাশিতভাবে কাজ করে তা নিশ্চিত করতে ব্যক্তিগত স্থান দিয়ে আপনার অ্যাপটি পরীক্ষা করুন, বিশেষ করে যদি আপনার অ্যাপ নিম্নলিখিত বিভাগগুলির মধ্যে একটিতে পড়ে:
- কাজের প্রোফাইলের জন্য যুক্তিযুক্ত অ্যাপ যেগুলি ধরে নেয় যে তাদের অ্যাপের ইনস্টল করা কোনো কপি যা মূল প্রোফাইলে নেই সেগুলি কাজের প্রোফাইলে রয়েছে৷
- মেডিকেল অ্যাপস
- লঞ্চার অ্যাপস
- অ্যাপ স্টোর অ্যাপস
নির্বাচিত ফটো অ্যাক্সেসের জন্য সাম্প্রতিক ব্যবহারকারী নির্বাচনের জন্য জিজ্ঞাসা করুন
মিডিয়া অনুমতিগুলিতে আংশিক অ্যাক্সেস দেওয়া হলে অ্যাপগুলি এখন শুধুমাত্র সাম্প্রতিক-নির্বাচিত ফটো এবং ভিডিওগুলিকে হাইলাইট করতে পারে৷ এই বৈশিষ্ট্যটি এমন অ্যাপগুলির জন্য ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারে যেগুলি প্রায়শই ফটো এবং ভিডিওগুলিতে অ্যাক্সেসের অনুরোধ করে৷ আপনার অ্যাপে এই বৈশিষ্ট্যটি ব্যবহার করতে, ContentResolver মাধ্যমে MediaStore জিজ্ঞাসা করার সময় QUERY_ARG_LATEST_SELECTION_ONLY আর্গুমেন্টটি সক্ষম করুন।
কোটলিন
val externalContentUri = MediaStore.Files.getContentUri("external") val mediaColumns = arrayOf( FileColumns._ID, FileColumns.DISPLAY_NAME, FileColumns.MIME_TYPE, ) val queryArgs = bundleOf( // Return only items from the last selection (selected photos access) QUERY_ARG_LATEST_SELECTION_ONLY to true, // Sort returned items chronologically based on when they were added to the device's storage QUERY_ARG_SQL_SORT_ORDER to "${FileColumns.DATE_ADDED} DESC", QUERY_ARG_SQL_SELECTION to "${FileColumns.MEDIA_TYPE} = ? OR ${FileColumns.MEDIA_TYPE} = ?", QUERY_ARG_SQL_SELECTION_ARGS to arrayOf( FileColumns.MEDIA_TYPE_IMAGE.toString(), FileColumns.MEDIA_TYPE_VIDEO.toString() ) )
জাভা
Uri externalContentUri = MediaStore.Files.getContentUri("external"); String[] mediaColumns = { FileColumns._ID, FileColumns.DISPLAY_NAME, FileColumns.MIME_TYPE }; Bundle queryArgs = new Bundle(); queryArgs.putBoolean(MediaStore.QUERY_ARG_LATEST_SELECTION_ONLY, true); queryArgs.putString(MediaStore.QUERY_ARG_SQL_SORT_ORDER, FileColumns.DATE_ADDED + " DESC"); queryArgs.putString(MediaStore.QUERY_ARG_SQL_SELECTION, FileColumns.MEDIA_TYPE + " = ? OR " + FileColumns.MEDIA_TYPE + " = ?"); queryArgs.putStringArray(MediaStore.QUERY_ARG_SQL_SELECTION_ARGS, new String[] { String.valueOf(FileColumns.MEDIA_TYPE_IMAGE), String.valueOf(FileColumns.MEDIA_TYPE_VIDEO) });
অ্যান্ড্রয়েডে গোপনীয়তা স্যান্ডবক্স
অ্যান্ড্রয়েড 15- এ Android-এ গোপনীয়তা স্যান্ডবক্সের সর্বশেষ সংস্করণকে অন্তর্ভুক্ত করে সর্বশেষ Android বিজ্ঞাপন পরিষেবার এক্সটেনশনগুলি অন্তর্ভুক্ত রয়েছে। এই সংযোজনটি এমন প্রযুক্তি বিকাশের জন্য আমাদের কাজের অংশ যা ব্যবহারকারীর গোপনীয়তা উন্নত করে এবং মোবাইল অ্যাপের জন্য কার্যকর, ব্যক্তিগতকৃত বিজ্ঞাপন অভিজ্ঞতা সক্ষম করে। আমাদের গোপনীয়তা স্যান্ডবক্স পৃষ্ঠায় আপনাকে শুরু করতে সহায়তা করার জন্য Android বিকাশকারী পূর্বরূপ এবং বিটা প্রোগ্রামগুলিতে গোপনীয়তা স্যান্ডবক্স সম্পর্কে আরও তথ্য রয়েছে৷
স্বাস্থ্য সংযোগ
Android 15 Android-এর Health Connect- এর আশেপাশে সাম্প্রতিক এক্সটেনশনগুলিকে একীভূত করে, অ্যাপ-সংগৃহীত স্বাস্থ্য ও ফিটনেস ডেটা পরিচালনা ও শেয়ার করার জন্য একটি নিরাপদ এবং কেন্দ্রীভূত প্ল্যাটফর্ম। এই আপডেটটি ফিটনেস , পুষ্টি , ত্বকের তাপমাত্রা, প্রশিক্ষণ পরিকল্পনা এবং আরও অনেক কিছু জুড়ে অতিরিক্ত ডেটা প্রকারের জন্য সমর্থন যোগ করে।
ত্বকের তাপমাত্রা ট্র্যাকিং ব্যবহারকারীদের পরিধানযোগ্য বা অন্যান্য ট্র্যাকিং ডিভাইস থেকে আরও সঠিক তাপমাত্রার ডেটা সঞ্চয় এবং ভাগ করতে দেয়।
প্রশিক্ষণ পরিকল্পনাগুলি হল একটি ব্যবহারকারীকে তাদের ফিটনেস লক্ষ্য অর্জনে সহায়তা করার জন্য কাঠামোগত ওয়ার্কআউট পরিকল্পনা। প্রশিক্ষণ পরিকল্পনা সমর্থনের মধ্যে বিভিন্ন ধরনের সমাপ্তি এবং কর্মক্ষমতা লক্ষ্য অন্তর্ভুক্ত রয়েছে:
- ক্যালোরি পোড়ানো , দূরত্ব , সময়কাল , পুনরাবৃত্তি এবং পদক্ষেপের চারপাশে সম্পূর্ণ করার লক্ষ্য।
- পারফরম্যান্স লক্ষ্য যতটা সম্ভব পুনরাবৃত্তি (AMRAP) , ক্যাডেন্স , হৃদস্পন্দন , শক্তি , পরিশ্রমের অনুভূত হার এবং গতি ।
Google I/O থেকে অ্যান্ড্রয়েড হেলথ টক সহ অভিযোজনযোগ্য অভিজ্ঞতার বিল্ডিং- এ Android-এ Health Connect-এর সাম্প্রতিক আপডেটগুলি সম্পর্কে আরও জানুন৷
,Android 15 Android-এর Health Connect- এর আশেপাশে সাম্প্রতিক এক্সটেনশনগুলিকে একীভূত করে, অ্যাপ-সংগৃহীত স্বাস্থ্য ও ফিটনেস ডেটা পরিচালনা ও শেয়ার করার জন্য একটি নিরাপদ এবং কেন্দ্রীভূত প্ল্যাটফর্ম। এই আপডেটটি ফিটনেস , পুষ্টি , ত্বকের তাপমাত্রা, প্রশিক্ষণ পরিকল্পনা এবং আরও অনেক কিছু জুড়ে অতিরিক্ত ডেটা প্রকারের জন্য সমর্থন যোগ করে।
ত্বকের তাপমাত্রা ট্র্যাকিং ব্যবহারকারীদের পরিধানযোগ্য বা অন্যান্য ট্র্যাকিং ডিভাইস থেকে আরও সঠিক তাপমাত্রার ডেটা সঞ্চয় এবং ভাগ করতে দেয়।
প্রশিক্ষণ পরিকল্পনাগুলি হল একটি ব্যবহারকারীকে তাদের ফিটনেস লক্ষ্য অর্জনে সহায়তা করার জন্য কাঠামোগত ওয়ার্কআউট পরিকল্পনা। প্রশিক্ষণ পরিকল্পনা সমর্থনের মধ্যে বিভিন্ন ধরনের সমাপ্তি এবং কর্মক্ষমতা লক্ষ্য অন্তর্ভুক্ত রয়েছে:
- ক্যালোরি পোড়ানো , দূরত্ব , সময়কাল , পুনরাবৃত্তি এবং পদক্ষেপের চারপাশে সম্পূর্ণ করার লক্ষ্য।
- পারফরম্যান্স লক্ষ্য যতটা সম্ভব পুনরাবৃত্তি (AMRAP) , ক্যাডেন্স , হৃদস্পন্দন , শক্তি , পরিশ্রমের অনুভূত হার এবং গতি ।
Google I/O থেকে অ্যান্ড্রয়েড হেলথ টক সহ অভিযোজনযোগ্য অভিজ্ঞতার বিল্ডিং- এ Android-এ Health Connect-এর সাম্প্রতিক আপডেটগুলি সম্পর্কে আরও জানুন৷
অ্যাপ স্ক্রিন শেয়ারিং
অ্যান্ড্রয়েড 15 অ্যাপ স্ক্রিন শেয়ারিং সমর্থন করে যাতে ব্যবহারকারীরা পুরো ডিভাইস স্ক্রীনের পরিবর্তে শুধুমাত্র একটি অ্যাপ উইন্ডো শেয়ার বা রেকর্ড করতে পারে। Android 14 QPR2-এ প্রথম সক্রিয় করা এই বৈশিষ্ট্যটিতে MediaProjection কলব্যাক রয়েছে যা আপনার অ্যাপকে অ্যাপ স্ক্রিন শেয়ারিং অভিজ্ঞতা কাস্টমাইজ করতে দেয়। মনে রাখবেন যে Android 14 (API লেভেল 34) বা উচ্চতর টার্গেট করা অ্যাপগুলির জন্য, প্রতিটি MediaProjection ক্যাপচার সেশনের জন্য ব্যবহারকারীর সম্মতি প্রয়োজন ।
ব্যবহারকারীর অভিজ্ঞতা এবং সিস্টেম UI
অ্যান্ড্রয়েড 15 অ্যাপ ডেভেলপার এবং ব্যবহারকারীদের তাদের প্রয়োজন অনুসারে তাদের ডিভাইস কনফিগার করার জন্য আরও নিয়ন্ত্রণ এবং নমনীয়তা দেয়।
আপনার অ্যাপের ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে Android 15-এর সর্বশেষ উন্নতিগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে, Google I/O থেকে আপনার Android অ্যাপ টকের ব্যবহারকারীর অভিজ্ঞতা উন্নত করুন দেখুন।
জেনারেটেড প্রিভিউ API সহ আরও সমৃদ্ধ উইজেট পূর্বরূপ
অ্যান্ড্রয়েড 15-এর আগে, উইজেট পিকার প্রিভিউ দেওয়ার একমাত্র উপায় ছিল একটি স্ট্যাটিক ইমেজ বা লেআউট রিসোর্স নির্দিষ্ট করা। এই প্রিভিউগুলি প্রায়ই আসল উইজেটটির চেহারা থেকে উল্লেখযোগ্যভাবে আলাদা হয় যখন এটি হোম স্ক্রিনে স্থাপন করা হয়। এছাড়াও, জেটপ্যাক গ্ল্যান্স দিয়ে স্ট্যাটিক রিসোর্স তৈরি করা যায় না, তাই একজন গ্ল্যান্স ডেভেলপারকে তাদের উইজেট স্ক্রিনশট করতে হবে বা উইজেট প্রিভিউ করার জন্য একটি XML লেআউট তৈরি করতে হবে।
অ্যান্ড্রয়েড 15 জেনারেট করা পূর্বরূপগুলির জন্য সমর্থন যোগ করে। এর মানে হল যে অ্যাপ উইজেট প্রদানকারীরা স্ট্যাটিক রিসোর্সের পরিবর্তে পিকার প্রিভিউ হিসেবে ব্যবহার করার জন্য RemoteViews তৈরি করতে পারে।

পুশ API
অ্যাপগুলি একটি পুশ API এর মাধ্যমে জেনারেটেড প্রিভিউ প্রদান করতে পারে। অ্যাপ্লিকেশানগুলি তাদের জীবনচক্রের যেকোনো সময়ে পূর্বরূপ প্রদান করতে পারে এবং পূর্বরূপ প্রদানের জন্য হোস্টের কাছ থেকে একটি সুস্পষ্ট অনুরোধ গ্রহণ করে না। AppWidgetService এ প্রিভিউ টিকে থাকে, এবং হোস্ট তাদের চাহিদা অনুযায়ী অনুরোধ করতে পারে। নিম্নলিখিত উদাহরণটি একটি XML উইজেট লেআউট সংস্থান লোড করে এবং এটিকে পূর্বরূপ হিসাবে সেট করে:
AppWidgetManager.getInstance(appContext).setWidgetPreview(
ComponentName(
appContext,
SociaLiteAppWidgetReceiver::class.java
),
AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN,
RemoteViews("com.example", R.layout.widget_preview)
)
প্রত্যাশিত প্রবাহ হল:
- যেকোনো সময়, উইজেট প্রদানকারী
setWidgetPreviewকল করে। প্রদত্ত প্রিভিউ অন্যান্য প্রদানকারীর তথ্য সহAppWidgetServiceএ টিকে থাকে। -
setWidgetPreviewAppWidgetHost.onProvidersChangedকলব্যাকের মাধ্যমে একটি আপডেট করা প্রিভিউ হোস্টকে অবহিত করে। প্রতিক্রিয়া হিসাবে, উইজেট হোস্ট তার সমস্ত প্রদানকারীর তথ্য পুনরায় লোড করে। - একটি উইজেট পূর্বরূপ প্রদর্শন করার সময়, হোস্ট
AppWidgetProviderInfo.generatedPreviewCategoriesচেক করে, এবং যদি নির্বাচিত বিভাগটি উপলব্ধ থাকে, তাহলে এই প্রদানকারীর জন্য সংরক্ষিত পূর্বরূপ ফেরত দিতেAppWidgetManager.getWidgetPreviewকল করে।
setWidgetPreview কখন কল করতে হবে
যেহেতু প্রিভিউ প্রদানের জন্য কোন কলব্যাক নেই, তাই অ্যাপগুলি যেকোন সময়ে প্রিভিউ পাঠানোর জন্য বেছে নিতে পারে যখন তারা চলছে। কত ঘন ঘন প্রিভিউ আপডেট করতে হবে তা নির্ভর করে উইজেটের ব্যবহারের ক্ষেত্রে।
নিম্নলিখিত তালিকাটি পূর্বরূপ ব্যবহারের ক্ষেত্রে দুটি প্রধান বিভাগ বর্ণনা করে:
- প্রদানকারীরা তাদের উইজেট প্রিভিউতে বাস্তব ডেটা দেখায়, যেমন ব্যক্তিগতকৃত বা সাম্প্রতিক তথ্য। ব্যবহারকারী একবার সাইন ইন করলে বা তাদের অ্যাপে প্রাথমিক কনফিগারেশন সম্পন্ন করলে এই প্রদানকারীরা পূর্বরূপ সেট করতে পারে। এর পরে, তারা তাদের নির্বাচিত ক্যাডেন্সে পূর্বরূপ আপডেট করার জন্য একটি পর্যায়ক্রমিক কাজ সেট আপ করতে পারে। এই ধরনের উইজেটের উদাহরণ একটি ফটো, ক্যালেন্ডার, আবহাওয়া বা সংবাদ উইজেট হতে পারে।
- প্রোভাইডার যেগুলি প্রিভিউ বা দ্রুত-অ্যাকশন উইজেটগুলিতে স্ট্যাটিক তথ্য দেখায় যা কোনও ডেটা প্রদর্শন করে না। এই প্রদানকারীরা একবার প্রিভিউ সেট করতে পারে, যখন অ্যাপটি প্রথম চালু হয়। এই ধরনের উইজেটের উদাহরণগুলির মধ্যে রয়েছে একটি ড্রাইভ দ্রুত অ্যাকশন উইজেট বা ক্রোম শর্টকাট উইজেট।
কিছু প্রদানকারী হাব মোড পিকারে স্ট্যাটিক প্রিভিউ দেখাতে পারে, কিন্তু হোমস্ক্রিন পিকারে আসল তথ্য। এই সরবরাহকারীদের পূর্বরূপ সেট করতে এই উভয় ব্যবহারের ক্ষেত্রে নির্দেশিকা অনুসরণ করা উচিত।
পিকচার-ইন-পিকচার
Android 15 引入了画中画 (PiP) 方面的变更,确保实现 更流畅的过渡效果。对于在主界面上叠加界面元素的应用,这将非常有用,因为这些界面元素会进入 PiP。
开发者使用 onPictureInPictureModeChanged 回调来定义逻辑
用于切换叠加界面元素的可见性。此回调是
在画中画进入或退出动画播放完毕时触发。距离开始还有
Android 15 中,PictureInPictureUiState 类包含另一种状态。
在此界面状态下,以 Android 15(API 级别 35)为目标平台的应用将遵守
使用以下参数调用 Activity#onPictureInPictureUiStateChanged 回调:
isTransitioningToPip()。还有
在画中画模式下,有很多与应用无关的界面元素,
包含建议、
评分和标题当应用进入画中画模式时,请使用
onPictureInPictureUiStateChanged 回调以隐藏这些界面元素。当
应用从画中画窗口进入全屏模式,使用
onPictureInPictureModeChanged 回调以取消隐藏这些元素,如
请参阅以下示例:
override fun onPictureInPictureUiStateChanged(pipState: PictureInPictureUiState) {
if (pipState.isTransitioningToPip()) {
// Hide UI elements
}
}
override fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean) {
if (isInPictureInPictureMode) {
// Unhide UI elements
}
}
不相关界面元素的快速可见性切换(适用于画中画窗口)有助于 确保画中画播放动画更流畅、无闪烁。
ডোন্ট ডিস্টার্ব নিয়ম উন্নত করা হয়েছে
AutomaticZenRule অ্যাপগুলিকে অ্যাটেনশন ম্যানেজমেন্ট (বিরক্ত করবেন না) নিয়ম কাস্টমাইজ করতে দেয় এবং কখন সেগুলি সক্রিয় বা নিষ্ক্রিয় করতে হবে তা নির্ধারণ করতে দেয়। অ্যান্ড্রয়েড 15 ব্যবহারকারীর অভিজ্ঞতা উন্নত করার লক্ষ্যে এই নিয়মগুলিকে ব্যাপকভাবে উন্নত করে। নিম্নলিখিত উন্নতিগুলি অন্তর্ভুক্ত করা হয়েছে:
-
AutomaticZenRuleতে প্রকারগুলি যোগ করা, সিস্টেমটিকে কিছু নিয়মে বিশেষ চিকিত্সা প্রয়োগ করার অনুমতি দেয়৷ -
AutomaticZenRuleএ একটি আইকন যুক্ত করা, মোডগুলিকে আরও স্বীকৃত করতে সাহায্য করে৷ -
AutomaticZenRuleএ একটিtriggerDescriptionস্ট্রিং যোগ করা যা ব্যবহারকারীর জন্য নিয়মটি সক্রিয় হওয়া উচিত এমন শর্তগুলি বর্ণনা করে। -
AutomaticZenRuleZenDeviceEffectsযোগ করা হয়েছে, নিয়মগুলিকে গ্রেস্কেল ডিসপ্লে, নাইট মোড বা ওয়ালপেপারকে আবছা করার মতো জিনিসগুলিকে ট্রিগার করার অনুমতি দেয়৷
বিজ্ঞপ্তি চ্যানেলের জন্য ভাইব্রেশন ইফেক্ট সেট করুন
Android 15 支持为传入的通知设置丰富的振动,方法是
频道使用的是NotificationChannel.setVibrationEffect,因此
您的用户可以区分不同类型的通知
不需要看他们的设备
মিডিয়া প্রজেকশন স্ট্যাটাস বার চিপ এবং অটো স্টপ
Media projection can expose private user information. A new, prominent status bar chip makes users aware of any ongoing screen projection. Users can tap the chip to stop screen casting, sharing, or recording. Also, for a more intuitive user experience, any in‑progress screen projection now automatically stops when the device screen is locked.

বড় পর্দা এবং ফর্ম ফ্যাক্টর
Android 15 বড় স্ক্রীন, ফ্লিপাবল এবং ফোল্ডেবল সহ Android এর ফর্ম ফ্যাক্টরগুলির থেকে সর্বাধিক পেতে আপনার অ্যাপগুলিকে সমর্থন দেয়৷
উন্নত বড় পর্দা মাল্টিটাস্কিং
Android 15 gives users better ways to multitask on large screen devices. For example, users can save their favorite split-screen app combinations for quick access and pin the taskbar on screen to quickly switch between apps. This means that making sure your app is adaptive is more important than ever.
Google I/O has sessions on Building adaptive Android apps and Building UI with the Material 3 adaptive library that can help, and our documentation has more to help you Design for large screens.
কভার পর্দা সমর্থন
আপনার অ্যাপটি এমন একটি সম্পত্তি ঘোষণা করতে পারে যা Android 15 আপনার Application বা Activity সমর্থিত ফ্লিপযোগ্য ডিভাইসের ছোট কভার স্ক্রিনে উপস্থাপন করার অনুমতি দিতে ব্যবহার করে। এই স্ক্রিনগুলিকে Android অ্যাপগুলি চালানোর জন্য সামঞ্জস্যপূর্ণ লক্ষ্য হিসাবে বিবেচনা করা খুব ছোট, কিন্তু আপনার অ্যাপগুলিকে সমর্থন করার জন্য বেছে নিতে পারে, আপনার অ্যাপটিকে আরও জায়গায় উপলব্ধ করে।
সংযোগ
Android 15 আপনার অ্যাপকে যোগাযোগ এবং বেতার প্রযুক্তির সর্বশেষ অগ্রগতিতে অ্যাক্সেস দিতে প্ল্যাটফর্ম আপডেট করে।
স্যাটেলাইট সমর্থন
Android 15 继续扩大对卫星连接的平台支持,并包含一些界面元素,以确保在整个卫星连接环境中提供一致的用户体验。
应用可以使用 ServiceState.isUsingNonTerrestrialNetwork() 执行以下操作:
检测设备是否连接到卫星,让他们更清楚地了解
可能会导致完全网络服务不可用的原因此外,Android 15 支持短信和彩信应用以及预加载的 RCS 应用,以便使用卫星连接发送和接收消息。
মসৃণ NFC অভিজ্ঞতা
Android 15 正在努力打造更顺畅、更可靠的感应式付款体验,同时继续支持 Android 强大的 NFC 应用生态系统。在受支持的设备上,应用可以请求 NfcAdapter 进入观察模式,在该模式下,设备会监听但不会响应 NFC 读卡器,并将应用的 NFC 服务 PollingFrame
对象发送以进行处理。PollingFrame 对象可用于在与 NFC 读卡器进行首次通信之前进行身份验证,在许多情况下,这支持一触式交易。
此外,应用可以在受支持的设备上注册过滤器,以便在有轮询循环活动时收到通知,从而能够与多个感知 NFC 的应用顺畅运行。
ওয়ালেট ভূমিকা
Android 15 引入了钱包角色,可与用户的首选钱包应用更紧密地集成。此角色会取代 NFC 默认的感应式付款设置。用户可以前往设置 > 应用 > 默认应用,管理钱包角色持有者。
在为在付款类别中注册的 AID 路由 NFC 感应式付款时,系统会使用钱包角色。点按操作始终会转到 Google 钱包角色持有者,除非有已注册相同 AID 的其他应用在前台运行。
此角色还用于确定“Google 钱包”快速访问功能块在启用后应显示在何处。将角色设为“无”时,“快速访问”功能块不可用,并且支付类别 NFC 点按仅传送到前台应用。
নিরাপত্তা
Android 15 আপনাকে আপনার অ্যাপের নিরাপত্তা বাড়াতে, আপনার অ্যাপের ডেটা সুরক্ষিত করতে এবং ব্যবহারকারীদের তাদের ডেটার উপর আরও স্বচ্ছতা ও নিয়ন্ত্রণ দিতে সাহায্য করে। ব্যবহারকারীর সুরক্ষার উন্নতি করতে এবং নতুন হুমকির বিরুদ্ধে আপনার অ্যাপকে সুরক্ষিত করতে আমরা কী করছি তার আরও জানতে Google I/O-এর Android টক-এ সেফগার্ডিং ইউজার সিকিউরিটি দেখুন।
অটোফিলের সাথে শংসাপত্র ম্যানেজারকে একীভূত করুন
从 Android 15 开始,开发者可以将用户名或密码字段等特定视图与 Credential Manager 请求相关联,从而更轻松地在登录过程中提供量身定制的用户体验。当用户聚焦于其中一个视图时,系统会向 Credential Manager 发送相应请求。系统会汇总来自各个提供商的凭据,并在自动填充后备界面(例如内嵌建议或下拉菜单建议)中显示这些凭据。Jetpack androidx.credentials 库是开发者首选的端点,很快将在 Android 15 及更高版本中推出,以进一步增强此功能。
বায়োমেট্রিক প্রম্পট সহ একক ট্যাপ সাইন-আপ এবং সাইন-ইন সংহত করুন
ক্রেডেনশিয়াল ম্যানেজার বায়োমেট্রিক প্রম্পটগুলিকে শংসাপত্র তৈরি এবং সাইন-ইন প্রক্রিয়াগুলিতে সংহত করে , বায়োমেট্রিক প্রম্পটগুলি পরিচালনা করার জন্য প্রদানকারীদের প্রয়োজনীয়তা দূর করে৷ ফলস্বরূপ, শংসাপত্র প্রদানকারীদের শুধুমাত্র বায়োমেট্রিক ফ্লো ফলাফলের সাথে বর্ধিত, তৈরি এবং প্রবাহের ফলাফলের উপর ফোকাস করতে হবে। এই সরলীকৃত প্রক্রিয়াটি আরও দক্ষ এবং সুবিন্যস্ত শংসাপত্র তৈরি এবং পুনরুদ্ধার প্রক্রিয়া তৈরি করে।
এন্ড-টু-এন্ড এনক্রিপশনের জন্য মূল ব্যবস্থাপনা
我们将在 Android 15 中引入 E2eeContactKeysManager,它通过提供用于存储加密公钥的操作系统级 API,有助于在 Android 应用中实现端到端加密 (E2EE)。
E2eeContactKeysManager 旨在与平台通讯录应用集成,以便用户集中管理和验证通讯录联系人的公钥。
অনুমতি বিষয়বস্তু URIs চেক
অ্যান্ড্রয়েড 15 এপিআইগুলির একটি সেট প্রবর্তন করে যা সামগ্রী ইউআরআইগুলিতে অনুমতি পরীক্ষা করে:
-
Context.checkContentUriPermissionFull: এটি কন্টেন্ট ইউআরআই-এ সম্পূর্ণ অনুমতি পরীক্ষা করে। -
Activityম্যানিফেস্ট অ্যাট্রিবিউটেরrequireContentUriPermissionFromCaller: এটি অ্যাক্টিভিটি লঞ্চের সময় প্রদত্ত কন্টেন্ট URI-তে নির্দিষ্ট অনুমতি প্রয়োগ করে। -
Activityকলারদের জন্যComponentCallerক্লাস : এটি সেই অ্যাপের প্রতিনিধিত্ব করে যা অ্যাক্টিভিটি চালু করেছে।
অ্যাক্সেসযোগ্যতা
অ্যান্ড্রয়েড 15 এমন বৈশিষ্ট্য যুক্ত করে যা ব্যবহারকারীদের জন্য অ্যাক্সেসযোগ্যতা উন্নত করে।
আরও ভালো ব্রেইল
Android 15-এ, আমরা টকব্যাকের জন্য ব্রেইল ডিসপ্লে সমর্থন করা সম্ভব করেছি যা USB এবং সুরক্ষিত ব্লুটুথ উভয়ের মাধ্যমে HID মান ব্যবহার করছে।
এই স্ট্যান্ডার্ডটি, অনেকটা ইঁদুর এবং কীবোর্ড দ্বারা ব্যবহৃত একটির মতো, সময়ের সাথে সাথে ব্রেইল ডিসপ্লেগুলির একটি বিস্তৃত পরিসরে Android কে সমর্থন করবে৷
আন্তর্জাতিকীকরণ
Android 15 এমন বৈশিষ্ট্য এবং ক্ষমতা যুক্ত করে যা ব্যবহারকারীর অভিজ্ঞতাকে পরিপূরক করে যখন একটি ডিভাইস বিভিন্ন ভাষায় ব্যবহার করা হয়।
CJK পরিবর্তনশীল ফন্ট
অ্যান্ড্রয়েড 15 দিয়ে শুরু করে, চাইনিজ, জাপানিজ এবং কোরিয়ান (CJK) ভাষার ফন্ট ফাইল, NotoSansCJK, এখন একটি পরিবর্তনশীল ফন্ট। পরিবর্তনশীল ফন্টগুলি CJK ভাষায় সৃজনশীল টাইপোগ্রাফির জন্য সম্ভাবনা উন্মুক্ত করে। ডিজাইনাররা শৈলীর একটি বিস্তৃত পরিসর অন্বেষণ করতে পারে এবং দৃশ্যত আকর্ষণীয় লেআউট তৈরি করতে পারে যা অর্জন করা আগে কঠিন বা অসম্ভব ছিল।

আন্তঃ চরিত্র ন্যায্যতা
从 Android 15 开始,可以通过
使用 JUSTIFICATION_MODE_INTER_CHARACTER。“字词间的理由”原为
最初是在 Android 8.0(API 级别 26)中引入的,
Justifications 功能为使用
例如中文、日语等。
JUSTIFICATION_MODE_NONE 的日语文本布局。
JUSTIFICATION_MODE_NONE 的英语文本布局。
JUSTIFICATION_MODE_INTER_WORD 的日语文本布局。
JUSTIFICATION_MODE_INTER_WORD 的英语文本布局。
JUSTIFICATION_MODE_INTER_CHARACTER 的日语文本布局。
JUSTIFICATION_MODE_INTER_CHARACTER 的英语文本布局。স্বয়ংক্রিয় লাইন বিরতি কনফিগারেশন
Android started supporting phrase-based line breaks for Japanese and Korean in
Android 13 (API level 33). However, while phrase-based line breaks improve the
readability of short lines of text, they don't work well for long lines of text.
In Android 15, apps can apply phrase-based line breaks only for short lines
of text, using the LINE_BREAK_WORD_STYLE_AUTO
option. This option selects the best word style option for the text.
For short lines of text, phrase-based line breaks are used, functioning the same
as LINE_BREAK_WORD_STYLE_PHRASE, as shown in the
following image:
LINE_BREAK_WORD_STYLE_AUTO
applies phrase-based line breaks to improve the readability of the text.
This is the same as applying
LINE_BREAK_WORD_STYLE_PHRASE.For longer lines of text, LINE_BREAK_WORD_STYLE_AUTO uses a no
line-break word style, functioning the same as
LINE_BREAK_WORD_STYLE_NONE, as shown in the
following image:
LINE_BREAK_WORD_STYLE_AUTO
applies no line-break word style to improve the readability of the text.
This is the same as applying
LINE_BREAK_WORD_STYLE_NONE.অতিরিক্ত জাপানি হেনটাইগানা হরফ
অ্যান্ড্রয়েড 15-এ, পুরানো জাপানি হিরাগানা (হেনটাইগানা নামে পরিচিত) এর জন্য একটি ফন্ট ফাইল ডিফল্টরূপে বান্ডিল করা হয়। হেনটাইগানা অক্ষরের অনন্য আকারগুলি শিল্পকর্ম বা ডিজাইনে একটি স্বতন্ত্র ফ্লেয়ার যোগ করতে পারে এবং প্রাচীন জাপানি নথিগুলির সঠিক সংক্রমণ এবং বোঝার সংরক্ষণ করতে সহায়তা করে।

VideoLAN শঙ্কু কপিরাইট (c) 1996-2010 VideoLAN। এই লোগো বা একটি পরিবর্তিত সংস্করণ যে কেউ VideoLAN প্রকল্প বা VideoLAN টিম দ্বারা বিকশিত কোনো পণ্য উল্লেখ করার জন্য ব্যবহার বা পরিবর্তিত হতে পারে, কিন্তু প্রকল্পের দ্বারা অনুমোদন নির্দেশ করে না।
Vulkan এবং Vulkan লোগো হল Khronos Group Inc এর নিবন্ধিত ট্রেডমার্ক।
OpenGL হল একটি নিবন্ধিত ট্রেডমার্ক এবং OpenGL ES লোগো হল Hewlett Packard Enterprise-এর একটি ট্রেডমার্ক যা Khronos-এর অনুমতিতে ব্যবহৃত হয়।