প্রতিটি রিলিজের সাথে, নির্দিষ্ট Android APIগুলি অপ্রচলিত হয়ে যেতে পারে বা আরও ভাল বিকাশকারীর অভিজ্ঞতা প্রদান করতে বা নতুন প্ল্যাটফর্ম সক্ষমতা সমর্থন করতে পুনরায় ফ্যাক্টর করার প্রয়োজন হতে পারে। এই ক্ষেত্রে, অ্যান্ড্রয়েড আনুষ্ঠানিকভাবে অপ্রচলিত APIগুলিকে অবমূল্যায়ন করবে এবং এর পরিবর্তে ব্যবহার করার জন্য ডেভেলপারদের নতুন APIগুলিতে নির্দেশ দেবে৷
অবচয় মানে আমরা API-এর জন্য অফিসিয়াল সমর্থন বন্ধ করে দিয়েছি, কিন্তু সেগুলি ডেভেলপারদের কাছে উপলব্ধ থাকবে। এই পৃষ্ঠাটি অ্যান্ড্রয়েডের এই প্রকাশের কিছু অবমূল্যায়ন হাইলাইট করে৷ অন্যান্য অবচয় দেখতে, API ডিফ রিপোর্ট পড়ুন।
রেন্ডারস্ক্রিপ্ট
অ্যান্ড্রয়েড 12 দিয়ে শুরু করে, রেন্ডারস্ক্রিপ্ট এপিআইগুলিকে অবমূল্যায়ন করা হয়েছে। তারা কাজ করতে থাকবে, কিন্তু আমরা আশা করি যে ডিভাইস এবং উপাদান নির্মাতারা সময়ের সাথে সাথে হার্ডওয়্যার ত্বরণ সমর্থন প্রদান বন্ধ করবে। GPU ত্বরণের সম্পূর্ণ সুবিধা নিতে, আমরা RenderScript থেকে দূরে সরে যাওয়ার পরামর্শ দিই।
অ্যান্ড্রয়েড প্লেলিস্ট
অ্যান্ড্রয়েড প্লেলিস্টগুলি বাতিল করা হয়েছে৷ API আর রক্ষণাবেক্ষণ করা হয় না কিন্তু বর্তমান কার্যকারিতা সামঞ্জস্যের জন্য রয়ে গেছে।
আমরা m3u ফাইল হিসাবে প্লেলিস্ট পড়ার এবং সংরক্ষণ করার পরামর্শ দিই।
এপিআই অবচয় প্রদর্শন করুন
অ্যান্ড্রয়েড ডিভাইসগুলি বিভিন্ন ফর্ম ফ্যাক্টরগুলিতে উপলব্ধ হচ্ছে, যেমন বড় স্ক্রীন, ট্যাবলেট এবং ফোল্ডেবল। প্রতিটি ডিভাইসের জন্য উপযুক্তভাবে বিষয়বস্তু রেন্ডার করার জন্য, আপনার অ্যাপটিকে স্ক্রীন বা প্রদর্শনের আকার নির্ধারণ করতে হবে। সময়ের সাথে সাথে Android এই তথ্য পুনরুদ্ধার করার জন্য বিভিন্ন API প্রদান করেছে। অ্যান্ড্রয়েড 11-এ আমরা WindowMetrics
API প্রবর্তন করেছি এবং এই পদ্ধতিগুলিকে অবমূল্যায়ন করেছি:
অ্যান্ড্রয়েড 12-এ আমরা WindowMetrics
ব্যবহার করার পরামর্শ দিয়ে থাকি এবং এই পদ্ধতিগুলিকে অবমূল্যায়ন করছি:
অ্যাপগুলিকে তাদের উইন্ডোর সীমানা অনুসন্ধান করতে WindowMetrics
APIs ব্যবহার করা উচিত, অথবা বর্তমান ঘনত্বের অনুসন্ধান করতে Configuration.densityDpi
ব্যবহার করা উচিত৷
মনে রাখবেন Jetpack WindowManager
লাইব্রেরিতে একটি WindowMetrics
ক্লাস রয়েছে যা Android 4.0.1 (API লেভেল 14) এবং উচ্চতর সমর্থন করে।
উদাহরণ
WindowMetrics
কীভাবে ব্যবহার করবেন তা এখানে কিছু উদাহরণ রয়েছে।
প্রথমত, নিশ্চিত করুন যে আপনার অ্যাপটি তার কার্যকলাপগুলিকে সম্পূর্ণরূপে পরিবর্তনযোগ্য করে তুলতে পারে৷
যেকোন UI-সম্পর্কিত কাজের জন্য, বিশেষ করে WindowManager.getCurrentWindowMetrics()
এর জন্য একটি কার্যকলাপের প্রেক্ষাপট থেকে WindowMetrics
উপর নির্ভর করা উচিত।
যদি আপনার অ্যাপটি একটি MediaProjection
তৈরি করে, তাহলে প্রজেকশনটি ডিসপ্লে ক্যাপচার করার কারণে সীমাগুলি সঠিকভাবে মাপ করা উচিত। অ্যাপ্লিকেশানটি সম্পূর্ণরূপে পরিবর্তনযোগ্য হলে, কার্যকলাপের প্রসঙ্গটি সঠিক সীমানা প্রদান করে৷
কোটলিন
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
জাভা
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
যদি অ্যাপটি সম্পূর্ণরূপে পরিবর্তনযোগ্য না হয়, তবে এটিকে অবশ্যই একটি WindowContext
উদাহরণ থেকে সীমানাগুলি জিজ্ঞাসা করতে হবে এবং WindowManager.getMaximumWindowMetrics()
ব্যবহার করে অ্যাপ্লিকেশনটির জন্য উপলব্ধ সর্বাধিক প্রদর্শন এলাকার WindowMetrics পুনরুদ্ধার করতে হবে।
কোটলিন
val windowContext = context.createWindowContext(mContext.display!!, WindowManager.LayoutParams.TYPE_APPLICATION, null) val projectionMetrics = windowContext.getSystemService(WindowManager::class.java) .maximumWindowMetrics
জাভা
Context windowContext = mContext.createWindowContext(mContext.getDisplay(), WindowManager.LayoutParams.TYPE_APPLICATION, null; WindowMetrics projectionMetrics = windowContext.getWindowManager() .getMaximumWindowMetrics();